clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
SocketAsyncEventArgs socketEventArg = new SocketAsyncEventArgs();
socketEventArg.Completed += new EventHandler<SocketAsyncEventArgs>(OnConnect);
socketEventArg.RemoteEndPoint = new IPEndPoint(IPAddress.Parse(serverIP), serverPort);
socketEventArg.UserToken = clientSocket;
clientSocket.ConnectAsync(socketEventArg);
這段代碼連接失敗,返回AccessDenied。
MSDN的說明是:An attempt was made to access a Socket in a way that is forbidden by its access permissions
權限不夠!
那麼哪裏可以設置權限呢?
1. Package.appxmanifest => 功能 ,然後勾選即可
2. Package.appxmanifest => 右鍵 => 查看代碼,然後加入如下代碼
<Capabilities>
<Capability Name="internetClientServer" />
<Capability Name="privateNetworkClientServer" />
</Capabilities>
詳細說明:https://msdn.microsoft.com/library/windows/apps/xaml/mt270968.aspx