原帖由 "蓝色键盘" 发表:
感谢gadfly对状态转化图的引入,不知道gadfly能否就TIME_WAIT和CLOE_WAIT和FIN_WAIT_1这三种状态做些描述,建议主要针对以下两方面来做描述:
(1)、该状态在什么情况下出现。
(2)、TCP为什么要引入该状态,分别对应与那些处理细节
原帖由 "无双" 发表:
我觉得UDP就是发送以后不管的
只是向UDP端口写完数据后就返回
不会等待是不是发送成功
原帖由 "gadfly" 发表:
SHUT_RDWR: 关闭读写通道,和close一样 但是在多进程程序里面,如果有几个子进程共享一个套接字时,如果我们使用shutdown, 那么所有的子进程都不能够操作了,这个时候我们只能够使用close来关闭子进程的套接字描述符.
原帖由 "无双" 发表:
shutdown全关闭好像中直接清空缓冲区,和close不同
这点在UNIX网络编程上有比较
close只是减少引用数
等到引用数为0时才真正关闭
而宏SHUT_WR一旦设置,sockets拒绝任何write操作,但是不清空发送缓冲区的内容,这点,gadfly的描述是不正确的。对于宏SHUT_RDWR来说,行为是接受缓冲区的数据被清空,发送缓冲区的内容不清空。
原帖由 gadfly 于 2003-4-3 00:15 发表
我就试着用上图解释,错了不要拍砖啊. 请各位纠正和补充。
正常情况下,
主动关闭的一端发出FIN请求后(close or shotdown),主动关闭的一端就进入这个状态,
FIN-WAIT-1 - 等待远程TCP的连接中断请求 ...
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |