gpt4 book ai didi

c - 如何在 linux C 中保持非事件的 TCP 连接?

转载 作者:可可西里 更新时间:2023-11-01 02:54:46 33 4
gpt4 key购买 nike

如果 TCP 客户端与 TCP 服务器建立 TCP 连接。然后 TCP 客户端永远不会向服务器发送任何数据包。

首先,我大致知道 TCP 服务器附近的防火墙可能会向它发送 RST。或者存在强制 TCP 连接结束的保持事件超时。但是我不知 Prop 体会发生什么?谁能解释一下?

其次,是否可以保持此 TCP 连接,除非我希望它结束​​?

我只是希望 TCP 服务器可以在它的 TCP 堆栈上保持这个 TCP 连接。但是我不希望TCP客户端参与进来,我不希望客户端发送KEEP-ALIVE消息。我不希望涉及任何其他第三方实体。我不关心 TCP 客户端是否丢失了连接。我只是希望在我编写TCP服务器的源代码时,源代码能够设法维护服务器上的TCP连接。

注意:我的编程语言是LINUX C

谢谢!

最佳答案

如果您在您的终端启用 keepalive,它将定期发送探测,如果他们没有得到答复,您的终端将重置连接。 Keepalive 默认情况下处于关闭状态,因此如果您不在您的终端启用它,它就不会在您的终端发生。

然而,对等方仍然可以在他的一端启用它,在这种情况下,他的一端将表现如上,您既无法阻止也无法检测到它。

剩下的问题没有意义。出于多种原因,客户端或防火墙可以随时发送 RST。你不能阻止它,也不能在代码中忽略它。如果由于任何原因在任何地方重置了连接,则无需维护连接。

如果您不需要 TCP,请使用其他东西。

关于c - 如何在 linux C 中保持非事件的 TCP 连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16843645/

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