网络编程之:select模型

本文探讨了在网络编程中使用select函数进行多路复用输入/输出模型的实际应用。特别关注了writeSet的使用情况及其在现代高速网络环境下的必要性,并强调了error位的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

... ...

 

一般用不上writeSet,现在的网速很惊人的,网卡缓冲区也大,所以一检测就是【可写】的状态,因此不需要检测,特别是UDP,只要有网卡,任何时刻都是writable。error位倒是很有用。一般我们这样使用select:

r = select(max_socket_fd + 1, &readSet, 0, &errorSet, &time_out);

select函数:
          系统提供select函数来实现多路复用输入/输出模型。原型:

 int select(int maxfd,fd_set *rdset,fd_set *wrset,fd_set *exset,struct timeval *timeout);

多路复用的方式是真正实用的服务器程序,非多路复用的网络程序只能作为学习或着陪测的角色。

个人
接触过的多路复用函数:select/poll/epoll/port

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值