2018年2月4日

SIGPIPE信号

摘要: SIGPIPE往一个已经接收到FIN的套接中写是允许的,接收到的FIN仅仅代表对方不再发送数据。并不能代表我不能发送数据给对方。往一个FIN结束的进程中写(write),TCP 协议栈会发送一个RST TCP段过来,TCP重置。如果再调用write就会产生SIGPIPE信号 通常,我们只需要忽略这个 阅读全文

posted @ 2018-02-04 15:29 wsw_seu 阅读(6047) 评论(0) 推荐(0) 编辑

TCP11种状态

摘要: TCP的11种状态(还有一种CLOSING状态是两边同时发起close过程中才会有状态)nup的36页 连接建立的三次握手、终止四次握手。 socket创建套接口,默认是主动套接口。服务器端是被动套接口;服务器端收到客户端的SYN_SENT之后,仍处于阻塞状态。 TIME_WAIT要保留2MSL时间 阅读全文

posted @ 2018-02-04 15:25 wsw_seu 阅读(382) 评论(0) 推荐(0) 编辑

多客户连接僵尸进程的处理

摘要: 什么是僵尸进程? 首先内核会释放终止进程(调用了exit系统调用)所使用的所有存储区,关闭所有打开的文件等,但内核为每一个终止子进程保存了一定量的信息。这些信息至少包括进程ID,进程的终止状态,以及该进程使用的CPU时间,所以当终止子进程的父进程调用wait或waitpid时就可以得到这些信息。 而 阅读全文

posted @ 2018-02-04 14:35 wsw_seu 阅读(247) 评论(0) 推荐(0) 编辑

gethostname(获取主机名)、gethostbyname(由主机名获取IP地址)

摘要: int gethostname(char *name, size_t len);获取本地主机名存入name[len],成功返回0,失败返回-1; struct hostent * gethostbyname(const char * hostname); //返回对应于给定主机名的包含主机名字和地址 阅读全文

posted @ 2018-02-04 13:25 wsw_seu 阅读(1333) 评论(0) 推荐(0) 编辑

导航