我在Linux上使用C.客户端connect()
创建了一个TCP套接字,服务器和服务器accept()
就是它。当客户端请求被提供 - 或者发生了超时 - 我希望该套接字完全关闭。
但是,尽管双方都调用了close()
函数,但我在终端中看到套接字在TIME_WAIT
状态下仍然存在几分钟。
问题是,我怎么能彻底杀死它?
请记住,我不需要使用FIN
和ACK
标记进行任何握手,这是我在谷歌搜索时看到的。
此外,我想要实现的通信是本地主机中的进程间通信,并且必须能够每秒打开和关闭多达100个连接。这就是为什么,我不需要任何握手。并且我不希望套接字在一分钟内保持TIME_WAIT状态,因为操作系统填充了套接字并且性能显着降低。
编辑2:最后我使用了SO_REUSEPORT标志,如果操作系统已被填满,则尝试打开新连接没有延迟......
UDP套接字不符合我程序的其他规范......