我想使用Python为Raspberry Pi创建脚本的问题。
要测试脚本,我正在Windows 64位计算机上运行Python 3.6。 我想使用TCP在端口1235上向本地地址(192.168.1.101 / 127.0.0.1)发送“ 1”。
当我在RAW模式下使用腻子时,可以将这些数据发送到服务器,并立即获得正确的响应。
但是,当我尝试在Windows上使用Python进行此操作时,会出现2分钟的延迟。 我还可以看到命令仅在发送后2分钟被服务器接收。那两分钟后,我得到了即时答复。
代码:
import socket
message = '\x31'.encode()
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('192.168.1.101', 1235))
s.send(message) ; print ("send ready") ; data = s.recv(80) ; s.close(); print ("received"), repr(data)
#forgive me the ; ... I'm on a command line for testing.
#response is:
1
send ready
#2 minute delay
("None, "b"140,1,1,test\\r\n'")
我一直在尝试诸如SOCKET_DGRAM
,RAW TCP NO DELAY
,SO_SNDBUF
之类的方法,但是我找不到来源。