【问题标题】:Windows 10 iot Raspberry Pi 2 Tcp Connection c++Windows 10 物联网树莓派 2 Tcp 连接 c++
【发布时间】:2015-08-13 08:17:35
【问题描述】:

我有编写服务器/客户端应用程序。在树莓派 pi2 和 windows PC 之间。(Raspi 是服务器)。如果我将服务器和客户端程序都放在树莓派 pi2 上,那么它可以工作,但是当客户端从 Windows pc 运行时,我无法连接,出现错误超时(10060)。我只是通过交换机连接 pc 和 pi2,我的 PC 的防火墙被禁用。 我的示例代码和windows一样https://msdn.microsoft.com/en-us/library/windows/desktop/ms737889(v=vs.85).aspx

感谢您的宝贵时间

【问题讨论】:

  • 如果您知道从 connect 调用中得到什么错误,那么您没有使用 MSDN 示例中的代码,因为该示例不会在连接失败时打印错误代码。如果您更改了该部分,您可能会更改哪些其他部分而不告诉我们?
  • 我刚刚添加了一个 printf 来记录结果。而且我也改变了发送字节流。但正如您所见,问题与连接有关。我没有更改任何有关连接流的代码。如果两者都在 raspi 上,它也可以工作。
  • 您能否通过其他方式(例如 SSH、HTTP、Ping)从 Windows 机器连接到 RaspPi?即,是代码问题还是网络问题?
  • 我可以通过 powershell 连接,也可以连接 http 网络服务器并查看设备当前状态。
  • 服务器程序没有忙于做其他事情吗?如果服务器程序已正确创建侦听套接字并绑定它并调用listen,但不调用accept,通常会出现类似的tmeout 错误。可能会在服务器程序中添加一些额外的日志记录,以查看它实际上调用了accept 并且没有做任何其他事情。

标签: c++ windows tcp iot windows-10-iot-core


【解决方案1】:

我找到了解决方案。我们需要为 Windows 10 iot 添加防火墙规则。

喜欢: netsh advfirewall 防火墙添加规则名称="开放端口 80" dir=in action=allow protocol=TCP localport=80

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 2019-05-19
    相关资源
    最近更新 更多