我正在尝试连接到我们的私人公司服务器。我通过VPN连接到公司网络。这是代码片段:
static ManualResetEvent _clientDone = new ManualResetEvent(false);
private async void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
var host = new DnsEndPoint("XX.XXXX.com", port, AddressFamily.InterNetwork);
var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
var args = new SocketAsyncEventArgs();
args.RemoteEndPoint = host;
args.Completed += Args_Completed;
_clientDone.Reset();
socket.ConnectAsync(args);
_clientDone.WaitOne(5000);
var listener = new StreamSocketListener();
}
private string result;
private void Args_Completed(object sender, SocketAsyncEventArgs e)
{
result = e.SocketError.ToString();
_clientDone.Set();
}
SocketError返回AccessDenied。如果我尝试另一个地址,SocketError就是Success。我检查了功能:Internet(客户端)/(客户端和服务器),专用网络。但它不起作用。
ConnectByNameError = {“试图以其访问权限禁止的方式访问套接字”}
我在Console App中做了相同的连接,结果很成功。
那么为什么结果是UWP中的AccessDenied? 谢谢你的帮助
修改 我使用CISCO VPN连接。但是现在我已经尝试在移动模拟器中运行代码,结果就是成功。在本地计算机上访问。