sockets - Solaris10中如何发送ACK包

标签 sockets tcp solaris

对于 tcp 连接,在 Solaris 10 中有什么方法可以在没有其他数据(只有 ack 数据包)的情况下向另一端发送 ACK 数据包。

我知道我们可以通过 TCP Keep alive 选项来做到这一点,但它在 Solaris 10 中受支持。

最佳答案

检测断开连接的可靠方法是在您的应用程序级协议(protocol)中构建一个 null/ping/echo 类型的消息,并让您的应用程序定期发送这些消息。如果它没有得到及时的答复,它可以假设连接已经断开。大多数旨在涉及长期连接的协议(protocol)都包含这样的消息(例如,IRC、IMAP 和 SSH 都包含)。

(毕竟,即使您可以发送纯 TCP ACK 消息,另一端也不必响应它们,因为它自己没有收到更多数据来 ACK)。

关于sockets - Solaris10中如何发送ACK包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4300233/

相关文章:

ftp - Solaris 10 上 ftp rstatus 的等效 ftp 命令?

java - Java 中的客户端服务器程序(没有正确的输出)[没有错误]

Java套接字客户端超时

javascript - WebSocket 连接失败 : Error during WebSocket handshake: Unexpected response code: 400

matlab - Matlab中如何正确继承TCPIP类?

networking - 任何用于测量网络延迟的最小源代码(客户端服务器程序)

python - 使用 Scapy 获取 TCP 标志

linker - 运行时链接器忽略 Solaris 上可执行文件中的 RPATH

c - 我在动态库中重新定义了标准C库函数,但无法使用它

c++ - TCP 套接字上的 read() 何时返回