2017年12月11日

Ubuntu安装libevent

摘要: 背景: 版本: libevent 2.1.6beta 背景: 版本: libevent 2.1.6beta linux下: 按照github官方做法: $ sudo apt-get install openssl $ mkdir build && cd build $ cmake .. # Defa 阅读全文

posted @ 2017-12-11 11:02 willaty 阅读(10722) 评论(0) 推荐(1) 编辑

2017年12月8日

套接字地址结构

摘要: 1. 通用套接字地址结构: 1. 通用套接字地址结构: 1.1 概念: 套接字有几种类别,都可以放进通用套接字的容器中. 意即,具体的套接字是在通用套接字的基础上细化. 1.1 概念: 1.2 结构体如下: struct sockaddr{ uint8_t sin_len; unsigned sho 阅读全文

posted @ 2017-12-08 18:49 willaty 阅读(578) 评论(0) 推荐(0) 编辑

初始化函数1

摘要: 1. 字节排序函数: 1. 字节排序函数: 1.1 大端小端: 参考其他笔记或资料,一句话:低地址低位为小端. 1.1 大端小端: 1.2 常用函数: #include <netinet.h/in.h> uint16_t htons(uint16_t va); uint32_t htonl(uint 阅读全文

posted @ 2017-12-08 18:46 willaty 阅读(286) 评论(0) 推荐(0) 编辑

初始化函数2

摘要: 1. socket函数: #include <sys/socket.h> int socket(int family, int type, int protocol); 1. socket函数: 1.1. 参数: 第一个参数指定协议族(我理解为ip族): AF_INET,AF_INET6 第二个参数 阅读全文

posted @ 2017-12-08 18:44 willaty 阅读(176) 评论(0) 推荐(0) 编辑

非阻塞IO

摘要: 非阻塞io 使用fcntl设置,先GETFL操作,取得后逻辑与,在SETFL 一般直接返回EWOULDBLOCK. 对已connect: 可能立即返回,比如在同一机器上时. 当连接成功时,描述符可写;当连接错误时,描述符既可读又可写.(tcpv2,530页) 管理缓冲区很复杂,比select+阻塞快 阅读全文

posted @ 2017-12-08 18:42 willaty 阅读(183) 评论(0) 推荐(0) 编辑

几种TCP连接终止

摘要: 在三次连接完成后,accept调用前,客户机发来RST. Berkeley实现将完全在内核中处理,不通知. 而SVR4实现将返回一个错误EPROTO,而POSIX指出应该是ECONNABORTED,后面将补充解决方法. 如果服务器进程终止,而如果客户端对于套接字和用户输入两个源,只监听其中一个,则会 阅读全文

posted @ 2017-12-08 18:01 willaty 阅读(582) 评论(0) 推荐(0) 编辑

tcp连接需要注意的问题

摘要: 当有子进程时,子进程终止时会返回SIGCHLD信号,默认忽略,此时会有僵尸进程. 处理方法: 捕获信号,并waitpid. 当慢系统调用被中断时(如信号中断),有些系统不会自动重启调用,此时系统调用可能返回一个EINTR错误.需要检测并重启系统调用.但connect函数不能重启,调用select. 阅读全文

posted @ 2017-12-08 18:00 willaty 阅读(154) 评论(0) 推荐(0) 编辑

IO模型与select,poll,epoll

摘要: 五种:阻塞,非阻塞,IO复印,信号驱动,异步. 五种:阻塞,非阻塞,IO复印,信号驱动,异步. select,poll,epoll select: 典型用32个32位的整数表示1024个描述符,并发的局限. poll:功能同上,但数据结构不一样(链表),描述符不限制,只支持水平触发. epoll:数 阅读全文

posted @ 2017-12-08 17:59 willaty 阅读(181) 评论(0) 推荐(0) 编辑

为什么需要三次握手

摘要: 三次握手基础: tcp三次握手是同步双方序列号和窗口大小的过程. 三次握手基础: 三次的原因: 一次肯定不行,C不知道是否连接成功,发送数据则错误. 两次的话存在一个问题: 已过期的连接包再现,S会回复确认并以为连接成功. 三次的话,过期的包,由于C并未发起连接,C就不会回复. `总结: 防止已失效 阅读全文

posted @ 2017-12-08 17:51 willaty 阅读(454) 评论(0) 推荐(0) 编辑

最小重组缓冲区和路径MTU发现

摘要: 概括: 主要来源于unp,可参考:http://blog.csdn.net/ysu108/article/details/7764461 概括: 主要来源于unp,可参考:http://blog.csdn.net/ysu108/article/details/7764461 疑惑: 疑惑: 1. 最 阅读全文

posted @ 2017-12-08 17:50 willaty 阅读(1438) 评论(0) 推荐(0) 编辑

导航