首页 > 代码库 > 主要关于TCP

主要关于TCP

TCP是一个流协议

处理粘包问题

1、特殊字符 ‘\r\n‘用来作边界,表示一个消息

2、发定长包,消息很短也发固定长度(极度浪费网络资源)

3、加包头记录数据长度用以区分消息

4、其他一些特殊应用协议

 

while((pid = waitpid(-1, NULL, WNOHANG))处理多进程中的僵尸进程

 

TCP/IP11种状态

          LISTEN

SYN_SENT    

          SYN_REVD

ESTABLISTED

          ESTABLISTED

FIN_WAIT_1

          CLOSE_WAIT

FIN_WAIT_2

          LAST_ACK

TIME_WIAT

          CLOSED

 

CLOSING  客户端和服务器同时关闭产生,没有FIN_WAIT_2状态产生

 

FIN_WAIT_1    FIN_WAIT_1

CLOSING      CLOSING

TIME_WIAT    TIME_WIAT

scokfd接受到FIN段继续写数据是允许的,对方进程关闭会产生RST段,继续再写会产生SIGPIPE信号,默认动作是结束进程

主要关于TCP