Unix Network Programming vol1 笔记 TCP/IP的缓冲,全双工,半关闭 shutdown 函数
2011-08-29 15:59
387 查看
1. TCP/IP 连接是全双工的连接,连接端两端同时可以发送和接受数据;
2. 如果连接的一端A对一个全双工工作的TCP/IP连接调用close,A会先把发送送缓冲区的数据发送完,然后,发送FIN,但同时A却丢弃接受缓冲区的数据,并且对于对方B继续发送的数据,直接丢弃,这会造成A接受到的数据小于对方发送的数据的情况;如果A调用shutdown(socket, SHUT_WR)的话,只关闭A的写,即只关闭A向B发送数据的方向的连接,A可以接受B发送过来的数据,这样不会造成主动调用close这方的数据丢失。2.6,6.5,6.6
3. 问题:主动调用close,FIN发出以后,如果在TCP/IP连接的管道中还有数据,这些数据还没有被确认,接受方如何保证接受到并处理FIN前,合理的处理这些数据?还是会忽略这些数据,这样也会造成数据丢失。
待续。。
2. 如果连接的一端A对一个全双工工作的TCP/IP连接调用close,A会先把发送送缓冲区的数据发送完,然后,发送FIN,但同时A却丢弃接受缓冲区的数据,并且对于对方B继续发送的数据,直接丢弃,这会造成A接受到的数据小于对方发送的数据的情况;如果A调用shutdown(socket, SHUT_WR)的话,只关闭A的写,即只关闭A向B发送数据的方向的连接,A可以接受B发送过来的数据,这样不会造成主动调用close这方的数据丢失。2.6,6.5,6.6
3. 问题:主动调用close,FIN发出以后,如果在TCP/IP连接的管道中还有数据,这些数据还没有被确认,接受方如何保证接受到并处理FIN前,合理的处理这些数据?还是会忽略这些数据,这样也会造成数据丢失。
待续。。
相关文章推荐
- TCP/IP编程之shutdown函数详解
- unix学习笔记-----王保明学习笔记-----socket编程进阶---tcpip的11中状态
- A Crash Course in UNIX TCP/IP Socket Programming
- NETWORK笔记1: OSI七层、TCP/IP五层四层模型功能、协议、设备
- Understanding Unix/Linux Programming 笔记:chapter 14:线程机制:并发函数的使用
- UNIX Network Programming笔记之第五章下篇
- UNIX Network Programming笔记之第十一章(二)
- TCP/IP Illustrated vol1 笔记 2MSL Wait State
- UNIX Network Programming笔记之第十二章
- TCP/IP Illustrated vol 1 笔记 Path MTU
- UNIX Network Programming笔记之第三章
- TCP/IP Illustrated vol1 笔记 IGMP
- UNIX Network Programming笔记之第五章上篇
- TCP/IP Illustrated vol1 笔记 RIP OSPF
- UNIX Network Programming笔记之第十一章(一)
- Unix Network Programming(12)---listen 函数
- TCP/IP Illustrated vol1 笔记 Broadcasting and Multicasting
- 在Debian 4.0rc3上编译内核2.6.24时加入Layer7模块笔记[防火墙中在TCP/IP第七层Layer7应用层阻挡QQ,MSN等软件的应用]
- TCP-IP详解卷一:协议 笔记
- TCP/IP socket 编程 学习笔记