我正在尝试编写一个简单的客户端 - 服务器应用程序。它在同一台计算机上的双方都可以正常工作,但在两台不同的计算机上运行时它会阻塞。这些计算机是 RaspBerry Pi 2 和 MacBook Pro。
问题是客户端在运行了几次后会阻塞在 binary.Write 中。通常,接收数据的服务器打印它已收到 63 和发送数据的客户端打印它将发送 64。
如果我将截止日期广告给服务器,它会因超时而退出。客户端也有截止日期,但不会超时。
我尝试用一个简单的字节数组或一个 int 替换数据。它仍然阻塞。但是数据越小,正确的次数就越多。
如果我删除客户端中的 Printf 函数,它也会运行更长的时间。
我还尝试通过从套接字到 STDIO 的简单副本来替换服务器的功能(我在某处找到的一个提示),但它仍然无法从 binary.Write 中出来。
任何的想法?
这是完整的来源。那里有一些虚假的东西(例如计数循环),但它们都非常简单。还是我错了?
至尊宝的传说
相关分类