gpt4 book ai didi

python - 使用套接字进行以太网通信的最佳实践

转载 作者:行者123 更新时间:2023-11-28 18:33:56 26 4
gpt4 key购买 nike

关于使用套接字与远程硬件通信时的最佳实践,我有一个相当普遍的问题:套接字应该在每条消息发送后关闭还是保持打开状态?

为了说明这个问题:我正在使用 python(和套接字)与远程硬件接口(interface)。通常,我会每 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()

我想知道这是否可取,或者我是否应该在与设备的 session 期间(比如 ~ 1 小时)让套接字保持打开状态。这会很稳固吗?

欢迎任何提示/指点,谢谢!

最佳答案

只要您不时通过套接字交换数据,它就很可靠。如果不是,防火墙/NAT 可以确定 TCP 连接已断开并停止路由 TCP 数据包。

关于python - 使用套接字进行以太网通信的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34221168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com