网络编程是个深水区,远没有看起来那么简单,接触他的人才会深有体会。
tcp是个字节流的概念,所以会有更好的传输控制,不同于ip层只有包交换的概念。tcp包最大传输单元叫MSS,链路层的叫MTU,不是一个概念,不要混淆。
接收端一般就是这样的动作 while (read(........)>0) {
// do sth , handle it
}
从前我很好奇,为什么当传输结束,接收端也能自动结束,后来才知道,发送端退出时会关闭所有打开的文件描述符,这时会
发送一个”end-of-file“给对端,对端read的返回值就是0,当然就跳出循环了。
有一个api叫shutdown,没见有人用过,意思是socket是全双工的,close是关闭两条通道,如果我只想关闭我这边的主动发送通道
怎么办呢?shutdown就是干这事的。
未完待续