C# 尝试在Silverlight中打开套接字时出现访问被拒绝异常
尝试打开套接字时出现访问被拒绝异常。 我的连接功能如图所示C# 尝试在Silverlight中打开套接字时出现访问被拒绝异常,c#,silverlight,sockets,exception,C#,Silverlight,Sockets,Exception,尝试打开套接字时出现访问被拒绝异常。 我的连接功能如图所示 internal void Connect() { try { //AccessPolicy = new SocketClientAccessPolicyProtocol(); args = new SocketAsyncEventArgs(); args.UserTok
internal void Connect()
{
try
{
//AccessPolicy = new SocketClientAccessPolicyProtocol();
args = new SocketAsyncEventArgs();
args.UserToken = socket;
args.RemoteEndPoint = endPoint;
args.Completed += new EventHandler<SocketAsyncEventArgs>(OnConnect);
**isConnected = socket.ConnectAsync(args);**
//autoEvent.WaitOne();
if (args.SocketError != SocketError.Success)
throw new SocketException((int)args.SocketError);
if(isConnected)
global::System.Windows.MessageBox.Show("Connected");
}
catch (Exception ex)
{
global::System.Windows.MessageBox.Show(ex.Message);
}
}
内部void Connect()
{
尝试
{
//AccessPolicy=新的SocketClientAccessPolicyProtocol();
args=新的SocketAsyncEventArgs();
args.UserToken=socket;
args.RemoteEndPoint=端点;
args.Completed+=新事件处理程序(OnConnect);
**isConnected=socket.ConnectAsync(args)**
//autoEvent.WaitOne();
if(args.SocketError!=SocketError.Success)
抛出新的SocketException((int)args.SocketError);
如果(未连接)
全局::System.Windows.MessageBox.Show(“已连接”);
}
捕获(例外情况除外)
{
全局::System.Windows.MessageBox.Show(例如Message);
}
}
然而,函数ConnectAsync执行得很好,因为isConnected即将实现,但套接字未连接。
查看代码,您将看到它使用TcpListener类来侦听传入的客户端连接。客户端连接后,代码将检查请求中的以下值:
Silverlight连接后会自动将此文本发送到策略文件套接字。如果请求包含正确的值,则代码会将客户端访问策略的内容写回客户端流(请参阅OnReceiveComplete()方法)。收到策略文件后,Silverlight将对其进行解析,检查它是否允许访问所需的端口,然后接受或拒绝应用程序尝试进行的套接字调用
如果这是浏览器中的Silverlight,则需要混合使用套接字策略服务器。有关详细信息,请参阅。欢迎来到stackoverflow!如果您的问题已解决,请单击旁边的复选标记接受最佳答案。