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