簡體   English   中英

嘗試在Silverlight中打開套接字時獲取訪問被拒絕異常

[英]Getting Access Denied Exception while trying to Open Socket In Silverlight

嘗試打開套接字時出現“訪問被拒絕”異常。 我的連接功能如圖所示。

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);
            }
        }

但是,由於isConnected實現,函數ConnectAsync執行得很好,但是套接字未連接。

http://drdobbs.com/windows/208403238

查看代碼,您會發現它使用TcpListener類偵聽傳入的客戶端連接。 客戶端連接后,代碼將檢查請求的以下值: <policy-file-request/>

連接后,Silverlight會自動將此文本發送到策略文件套接字。 如果請求包含正確的值,則代碼會將客戶端訪問策略的內容寫回到客戶端流(請參閱OnReceiveComplete()方法)。 收到策略文件后,Silverlight對其進行解析,檢查其是否允許訪問所需的端口,然后接受或拒絕應用程序嘗試進​​行的套接字調用

如果這是瀏覽器中的Silverlight,則需要混合使用套接字策略服務器。 有關詳細信息,請參見http://msdn.microsoft.com/zh-cn/library/cc645032%28v=vs.95%29.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM