【发布时间】:2015-12-11 10:21:17
【问题描述】:
关于使用套接字与远程硬件通信时的最佳实践,我有一个相当普遍的问题:应该在发送每条消息后关闭套接字还是保持打开状态?
为了说明这个问题:我正在使用 python(和套接字)与远程硬件接口。通常,我会每 30 秒左右向设备发送一个命令,收到回复,然后等待约 30 秒。
目前我在做:
# Open socket
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.settimeout(10)
self.sock.connect((self.host_ip_address, self.port))
# Send Message
self.sock.send(my_command)
# Receive Reply
data = self.sock.recv(1024)
# Close socket
self.sock.shutdown(socket.SHUT_RDWR)
self.sock.close()
我想知道这是否可取,或者我是否应该在我与设备的会话期间(比如约 1 小时)让套接字保持打开状态。这会很强大吗?
欢迎任何提示/指点谢谢!
【问题讨论】:
标签: python sockets networking ethernet