【问题标题】:StreamSocket.ConnectAsync throws Exception "HRESULT: 0x8007274C" while using a VPNStreamSocket.ConnectAsync 在使用 VPN 时抛出异常“HRESULT:0x8007274C”
【发布时间】:2014-06-12 09:16:39
【问题描述】:

问题:虽然没有使用 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 应用商店应用的执行环境有关(使用 vpn 时)。

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

亲切的问候,

Sörnt

【问题讨论】:

  • VPN中远程网络使用的IP地址范围是多少?是 192.168.*.* 吗?
  • 它是 192.168.180.* 。我的 Dev PC 的 IP 地址是 192.168.180.63,当通过 vpn 连接时它是 192.168.180.222。
  • 您可以尝试在每个网络上放置不同范围的 IP 地址吗? TCP 数据包可能正在转发到远程网络。
  • 或者另一个问题是,如果你尝试从 192.168.180.63 机器连接到 192.168.180.58 会发生什么?
  • 这个问题解决了吗?我在最新的 Windows 10 上遇到了同样的问题

标签: c# windows-store-apps


【解决方案1】:

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

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

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

挂起,客户端应用程序将连接失败。

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

服务器可以同时运行。

来自 MSDN Here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-22
    • 2018-06-07
    • 2018-08-03
    • 2018-05-20
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多