我相信TCP是可靠的。如果write(socket, buf, buf_len)
和close(socket)
没有错误返回,则接收方将收到长度为buf
的buf_len
完全相同的数据。
但是this article说TCP不可靠。
如果这篇文章属实,我必须改变主意。但是我不确定本文是否正确。
这篇文章是真的吗?
最佳答案
TCP 是可靠的协议(protocol)(至少在使用较低级别的协议(protocol)时),但是程序员可能会以不可靠的方式使用它。
这里的问题是,在另一端正确接收所有发送的数据之前,不应关闭套接字:在最后一个数据仍在传输之前,关闭信号可能会破坏连接。
确保对等方正确接收的正确方法是graceful shutdown。
关于c - TCP不可靠吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47535106/