背景:我在Raspberry Pi 4上设置了TCP套接字python脚本,可以与脱机计算机通信。机器设置了一些命令,我通过套接字向它发送请求,本质上是查询“ A的值是什么?”机器的响应就是A的值。虽然我对机器的编码不是很熟悉,但我的理解是,以这种方式查询时,它会打印出该值。我通过简单地放置socket.sendall("What is the value of A")
后紧跟socket.recv(SIZE)
来通过套接字接收该数据。我的比喻就像是用一只手把球扔在墙上,另一只手抓住球。使用大约100英尺长的以太网电缆进行连接。
问题:我可以在这个套接字上查询很多,直到可以在5-10次之间来回发送60个入口数组,但最终,连接关闭了。我不太确定为什么会这样。我不得不拔掉所有东西,关掉所有的插座,等一下再尝试。尽管在不完全了解机器的情况下可能无法明确诊断问题(我无法真正提供更多信息),但我倾向于使用线程独立运行两个进程:一个查询线程,一个接收线程。我的猜测是recv()
错过了众所周知的球,然后坐在那里等待听到机器的回音,但是机器再也不会讲话了,因为只是等待代码。我没有太多的线程处理经验,因此希望您能提出一些建议。另一个想法是,以太网电缆对于Pi来说太长,无法处理大量数据。这听起来更幼稚,但是我不是网络工程师,因此不要声称完全了解该过程。
在此先感谢您提出任何澄清的问题。