网络
文章平均质量分 71
printfnothing
这个作者很懒,什么都没留下…
展开
-
UNP卷一学习笔记:TCP状态
搞linux后台开发,必须掌握Stevens的著作《UNIX网络编程》里提及的大量知识点,所以我特意从网上购买了一套(O(∩_∩)O)。面对厚厚的卷一,不实践,不记笔记,我觉得很难有所提升,故我决定将自己看书时候觉得重要的知识点和一些总结记录下来。今天的笔记是关于TCP状态的。TCP状态变迁主要发生在三次握手或四次挥手的时候,而且在此期间客户端client和服务器server的TCP状原创 2016-02-29 15:35:23 · 446 阅读 · 0 评论 -
UNP卷一学习笔记:基本TCP套接字
今天看了UNP卷一中与TCP相关的基本套接字函数,在这里总结下:1.socket函数#includeint socket(int family,int type,int protocol);//成功返回非负描述符,出错返回-1. 注意点:(1)family指明协议族:family说明AF_INETIPV4协议AF_INE原创 2016-03-05 21:04:45 · 464 阅读 · 0 评论 -
UNP卷一学习笔记:I/O模型
UNIX下可用的5种I/0模型:(1)阻塞式I/O (2)非阻塞式I/O (3)I/O复用 (4)信号驱动I/O(SIGIO) (5)异步I/O前4种属于同步操作,第5种属于异步操作。下面以钓鱼(套接字输入操作)为例说明这5种模型: 完成钓鱼需要两步骤:完成套接字输入需要两步骤:原创 2016-03-19 14:25:08 · 750 阅读 · 0 评论 -
UNP卷一学习笔记:基本UDP套接字编程
UDP:用户数据报协议。无连接不可靠的数据报协议。与TCP相比,UDP更注重数据的收发速度且因为不用维护连接信息,系统与网络开销要小的多。TCP是端到端的一对一,UDP却支持一对一,一对多以及多对多。但是UDP的缺点也是很明显的,UDP无法做到像TCP那样对于连接的维护,UDP无重传机制,拥塞控制以及流量控制等,因此在使用UDP的时候,会出现丢包,重复包,包乱序等现象。TCP主要在对连原创 2016-03-20 21:47:56 · 650 阅读 · 0 评论 -
UNP卷一学习笔记:POSIX信号处理
信号是告知某个进程发生了某个事件的通知,也叫软件中断,通常是异步发生的。信号的传递:A进程→B进程或者内核→某个进程。当进程收到某一信号,需要有个相应的处置(disposition),一般通过调用sigaction函数来设定对某个特定信号的处置,并有三种选择:(1)为信号提供一个信号处理函数,这种行为称为捕获信号。但是这种行为无法捕获SIGKILL和SIGSTOP信号。处理函数一般形式原创 2016-03-10 13:35:00 · 826 阅读 · 0 评论 -
UNP卷一学习笔记:TCP服务器常见故障
在使用TCP协议通信时,服务器有可能会发生以下问题:(1)accept返回前连接中止:三次握手完成并且连接建立后,客户端TCP发送了一个RST。在服务器看来,就在该连接已由TCP排队,等着服务器进程调用accept的时候RST到达,然后,服务器调用accept函数。(2)服务器进程终止:客户端和服务器开始传输数据后,服务器与该客户端传输数据的子进程被杀死,于是发生:服务器:原创 2016-03-10 14:21:30 · 575 阅读 · 0 评论 -
UNP卷一学习笔记:高级I/O函数
UNP卷一中所列的高级I/O函数有5组:1.read & write#includessize_t read(int fd,void* buff,size_t nbytes);//成功返回从fd读取的字节数,失败返回-1ssize_t write(int fd,const void* buff,size_t nbytes);//成功返回写入fd中的字节数,失败返回-1原创 2016-03-27 19:49:15 · 549 阅读 · 0 评论