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!如果您的问题已解决,请单击旁边的复选标记接受最佳答案。