【发布时间】: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