gpt4 book ai didi

TCP 连接 - 保持连接还是重新连接?

转载 作者:可可西里 更新时间:2023-11-01 02:34:00 26 4
gpt4 key购买 nike

我有一个关于 TCP-IP 通信的一般性问题...

目前我尝试在 ATMega 和 Raspberry Pi 之间创建一个小型通信。例如,我将通过 TCP/IP 协议(protocol)每 5 分钟(例如 100 字节)传输一些数据。

保持连接打开是否有意义,还是我应该为每个数据集创建一个新连接?

感谢您的帮助...

韦伯勒

最佳答案

我倾向于保持 TCP 连接打开,而不是每次都打开一个新连接。

这里有几个原因。首先,通过使用相同的连接,您可以节省不必发送 TCP 握手消息(基于 SYN 的消息)和拆卸消息(基于 FIN 的消息)的费用。在您的情况下,如果您打算每 5 分钟传输 100 个字节,则 SYN/FIN 消息的开销可能不止于此。其次,如果您已经打开了连接,则可以节省时间,因为无需重新连接。第三,每次启动连接时,TCP 可能会慢速启动——100 字节应该不是问题,但如果您需要发送更多字节,那么对于每个新连接,TCP 将以 1 MSS 启动其发送窗口.但是,如果您重用现有连接,TCP 将(可能)使用当前窗口。

还有:打开的连接不会消耗任何资源(带宽等),除了它在两个设备上拥有的端口。基本上每个已打开但未关闭的 TCP 连接仍处于打开状态,避免意外断开连接等。
对于检测这些内容,无论您是保持打开还是重新打开都没有区别:
如果同时断开连接,您将收到或多或少相同的错误。

关于TCP 连接 - 保持连接还是重新连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18879419/

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