网络编程黑马程序员
文章平均质量分 90
黑川赤音
如有疑问或者需要代码,可以评论区留下邮箱或者私信
展开
-
7、epoll边沿触发与反应堆
有n个客户端,服务器就会有n个连接(n个客户端和连接端)。fill:#333;color:#333;color:#333;fill:none;客户端连接端epoll检测是可读事件还是可写事件服务器 n:有可读事件(包括lfd)和可写事件。/*一个事件其是可以看成下面结构体的三个成员*/int cfd;read_cb();write_cb(); 反应堆:一个IO对应多个事件。原创 2023-10-11 09:50:22 · 68 阅读 · 0 评论 -
6、epoll多路IO
优点:自带数组结构,可以将监听时间和返回事件集合 可以扩展监听上限(select监听上限无法修改,但是poll可以修改监听上限)缺点:不能跨平台,只能在linux下用 无法直接定位满足监听事件文件描述符,编码难度较大。原创 2023-10-11 09:48:39 · 63 阅读 · 0 评论 -
5、select多路IO转接
*nfds:监听的所有文件描述符当中最大的文件描述符的编号 + 1在select的内部有一个循环,循环的次数就是文件描述符的上限fd_set *readfds, fd_set *writefds, fd_set *exceptfds,均是传入传出参数exceptfds时异常事件*/在文件描述符表中,当程序启动时,默认被占用0启动被占用1启动被占用2启动被占用3lfd4cfd15cfd26cfd3 当客户端发送请求时,lfd需要读这个请求。原创 2023-10-11 09:46:43 · 60 阅读 · 0 评论 -
4、socket基础
在通信过程中,套接字使用时一定是成对出现的。套接字只要一个问价描述符,因为其有两个缓冲区,一个缓冲区用来读,另一个缓冲区用来写fill:#333;color:#333;color:#333;fill:none;文件描述符读缓冲区写缓冲区。原创 2023-10-11 09:45:49 · 76 阅读 · 0 评论 -
3、TCP状态
通信双方中,只有一端关闭通信。//特殊的半关闭,只关闭读缓冲或者写缓冲或者都关。//shutdown在关闭多个文件描述符应用的文件时,采用全关闭方法,而close只关闭一个。原创 2023-10-11 09:44:51 · 629 阅读 · 0 评论 -
2、TCP协议基础
SYN表示建立连接的标志位,ACK为应答标志位fill:#333;SYN 1000(0)<mss,1460>(包号,(包携带的数据大小))<数据上限>SYN 8000(0),ACK 1001<mss 1024>(序号1001表示1001之前数据全部收到)以上三个箭头就是三次握手,accept和connect成功返回,表示三次握手已经成功。原创 2023-10-11 09:43:42 · 59 阅读 · 0 评论 -
2、TCP协议基础
SYN表示建立连接的标志位,ACK为应答标志位fill:#333;SYN 1000(0)<mss,1460>(包号,(包携带的数据大小))<数据上限>SYN 8000(0),ACK 1001<mss 1024>(序号1001表示1001之前数据全部收到)以上三个箭头就是三次握手,accept和connect成功返回,表示三次握手已经成功。原创 2023-10-11 09:42:57 · 58 阅读 · 0 评论 -
1、网络编程常见协议
TTL协议:time to live ,设置数据包在路由节点中的跳转上限,每跳转一次,该值减去一,减为0时,该数据包自动删除。路由表:记录着每个Ip地址对应的MAC地址,如果目标Ip地址存放在路由表中,就会应答,反之就会驳回。目的地址+源地址+帧类型+...+发送端以太网地址+发送端Ip地址+目的以太网地址+目的Ip地址。16位源端口号+16位目的端口号+32位序号+32位确认序号+6个标志位+16位窗口大小。C/S模型的优点就是B/S模型的缺点,C/S模型的缺点就是B/S模型的优点。原创 2023-10-11 09:41:53 · 93 阅读 · 0 评论