linux 网络编程
文章平均质量分 84
select poll epoll
hunandede
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
150 Linux 网络编程6 ,从socket 到 epoll整理。listen函数参数再研究
此例子用于socket 例子,该例子只能用于一个客户端连接server。不能用于多个client 连接 serverwrap.h。原创 2025-01-21 21:46:52 · 554 阅读 · 0 评论 -
149 Linux 网络编程5 ,netstat -apn 命令,改动文件描述符的上限,高并发服务器 --多路I/O转接服务器 - epoll ,ET/LT,epoll反应堆
其中8000为端口号。原创 2024-03-21 22:43:10 · 1241 阅读 · 0 评论 -
148 Linux 网络编程4 ,高并发服务器 --多路I/O转接服务器 - poll 这个非重点,
如果不再监控某个文件描述符时,可以把pollfd中,fd设置为-1,poll不再监控此pollfd,下次返回时,把revents设置为0。2. 文件描述符上限,可突破1024限制。能监控的最大上限数可使用配置文件调整。实际上poll 的核心就是我们select的优化版本,加入了一个数组,无法直接定位满足监听事件的文件描述符,和select 一样 也需要轮询。1. 传入、传出事件分离。无需每次调用时,重新设定监听事件。Poll 的实现和 select 很像。无法跨平台,只能在linux 上使用,原创 2024-03-21 15:33:21 · 403 阅读 · 0 评论 -
146Linux 网络编程2,创建服务器端客户端,socket,bind,listen,accept,connect,C/S模型-TCP,出错封装函数,TCP状态转换图,端口复用setsockopt
例如上一节的UDP段格式,地址0-1是16位的源端口号,如果这个端口号是1000(0x3e8),则地址0是0x03,地址1是0xe8,也就是先发0x03,再发0xe8,这16位在发送主机的缓冲区中也应该是低地址存0x03,高地址存0xe8。发送主机通常将发送缓冲区中的数据按内存地址从低到高的顺序发出,接收主机把从网络上接到的字节依次保存在接收缓冲区中,也是按内存地址从低到高的顺序保存,因此,网络数据流的地址应这样规定:先发出的数据是低地址,后发出的数据是高地址。本质为内核借助缓冲区形成的伪文件。原创 2024-03-17 21:39:36 · 1146 阅读 · 0 评论 -
147 Linux 网络编程3 ,高并发服务器 --多路I/O转接服务器 - select
从前面的知识学习了如何通过socket ,多进程,多线程创建一个高并发服务器,但是在实际工作中,我们并不会用到前面的方法 去弄一个高并发服务器,有更加好用的方法,就是多路I/O转接器多路IO转接服务器也叫做多任务IO服务器。该类服务器实现的主旨思想是,不再由应用程序自己监视客户端连接,取而代之由内核替应用程序监视文件。主要使用的方法有三种 select , poll , epoll其中select 可以跨平台poll 和 epoll不能跨平台,只能在linux上使用。重点是epoll。原创 2024-03-20 21:39:46 · 552 阅读 · 0 评论 -
145 Linux 网络编程1 ,协议,C/S B/S ,OSI 7层模型,TCP/IP 4层模型,tcp三次握手,大端字节序,小端字节序,网络字节序
从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。传输层 常见协议有TCP/UDP协议。应用层 常见的协议有HTTP协议,FTP协议。网络层 常见协议有IP协议、ICMP协议、IGMP协议。网络接口层 常见协议有ARP协议、RARP协议。TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的通信协议。UDP用户数据报协议(User Datagram Protocol)是参考模型中一种无连接的。原创 2024-03-16 22:36:13 · 1732 阅读 · 0 评论
分享