TCP再次总结

网络编程是个深水区,远没有看起来那么简单,接触他的人才会深有体会。

tcp是个字节流的概念,所以会有更好的传输控制,不同于ip层只有包交换的概念。tcp包最大传输单元叫MSS,链路层的叫MTU,不是一个概念,不要混淆。

接收端一般就是这样的动作                    while (read(........)>0) {

                      // do sth , handle it

                   }

从前我很好奇,为什么当传输结束,接收端也能自动结束,后来才知道,发送端退出时会关闭所有打开的文件描述符,这时会

发送一个”end-of-file“给对端,对端read的返回值就是0,当然就跳出循环了。

有一个api叫shutdown,没见有人用过,意思是socket是全双工的,close是关闭两条通道,如果我只想关闭我这边的主动发送通道

怎么办呢?shutdown就是干这事的。

未完待续

原文地址:https://www.cnblogs.com/encode/p/4468218.html