3056|0

3241

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

open服务器进程第二版之二 [复制链接]

客户端代码:

编译:

服务器代码如下:

编译:

运行:

为使打开描述符的数量能与客户进程数量相当,我们动态地为pollfd结构的数字分配空间,所使用的
策略与client_alloc函数分配client数组时所使用的相同。
pollfd数组中的第一个登记项用于listenfd描述符。新客户进程连接的到达由listenfd描述符中的POLLIN
指示,调用serv_accept来接受该连接。
对于一个现有的客户进程,应当处理来自poll的两个不同事件:由POLLHUP指示的客户进程终止,由POLLIN
指示的来自现有客户进程的一个新请求。即使连接的服务器端还在读取数据,客户端也能够关闭它这端的
连接。即使连接的一端已经被标记为挂起状态,服务器仍然可以读取在它那端队列里的数据。当然,服务器
在收到客户端的挂起消息时用close关闭到到客户端的连接,可有效的抛弃所有队列里的数据。剩下的请求
也没有必要处理,因为我们已经无法发回响应的信息。

点赞 关注
个人签名为江山踏坏了乌骓马,为社稷拉断了宝雕弓。

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表