我正在使用一个通过TCP控制的中继。据我所知,以下代码应该有效:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('192.168.0.200', 17494))
s.send(chr(101))
s.close()
但是,我注意到,在实际发送包之前,套接字就被关闭了,而中继什么也不做。作为肮脏的解决方案,我现在在关闭连接之前放置了一个sleep语句,它可以正常工作。在
^{pr2}$有没有更聪明的方法可以确保在关闭连接之前包被实际发送?在
您可以使用s.setsockopt设置sou-LINGER选项。linger选项使套接字等待(内部)并仅在发送所有挂起的数据到指定的超时值后关闭。比如:
相关问题 更多 >
编程相关推荐