问题:不使用VPN时,以下代码可以正常工作。一旦我通过VPN连接到我的家庭网络,代码就会引发异常(翻译成德语):

连接尝试失败是因为连接的一方在一段时间后未正确响应,或者连接建立失败是因为连接的主机未能响应。 (来自HRESULT的异常:0x8007274C)。

目标“ 192.168.180.58”是我的家庭网络中的另一台计算机。

Windows应用商店测试代码:

private async void createConnection(object sender, RoutedEventArgs e)
{
  HostName target = new HostName("192.168.180.58");
  string port = "8181";
  using (StreamSocket client = new StreamSocket())
  {
    try
    {
      await client.ConnectAsync(target, port);
    }
    catch (Exception ex)
    {
      string typeName = ex.GetType().Name;
      string msg = ex.Message;
    }
  }
}


我创建了在两种情况下都可以工作的Windows控制台程序(.NET 4.5.1)(通过使用vpn而不是通过vpn连接)。

Windows控制台测试代码:

namespace caPing
{
  class Program
  {
    static void Main(string[] args)
    {
      string target = "192.168.180.58";
      int port = 8181;

      TcpClient client = new TcpClient();
      try
      {
        client.Connect(target, port);
        client.Close();
      }
      catch (Exception ex)
      {
        Console.WriteLine(ex.Message);
        throw;
      }
    }
  }
}


看起来问题似乎与Windows Store Apps的执行环境有关(使用VPN时)。

这里有什么问题,我该如何解决?

亲切的问候,

索恩特

最佳答案

我遇到了同样的问题,然后我发现

We can not keep two app running at the same time.

如果服务器应用程序正在运行,然后运行客户端应用程序,则服务器应用程序将

暂停,客户端应用将无法连接。

您可以将服务器应用程序创建为桌面应用程序,以便客户端和

服务器可以同时运行。

从MSDN Here

关于c# - 使用VPN时,StreamSocket.ConnectAsync引发异常“HRESULT:0x8007274C”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24180690/

10-13 08:05