随笔分类 -  Linux网络编程

摘要:在使用socket进行网络编程时,首先要选择一个合适的服务器模型是很重要的。在网络程序里,通常都是一个服务器服务多个客户机,为了处理多个客户机的请求,服务器端的程序有不同的处理方式。 目前最常用的服务器模型分为两大类,循环服务器模型和并发服务器模型 循环服务器模型 UDP循环服务器模型 UDP循环服 阅读全文
posted @ 2016-11-14 22:24 GreenHand# 阅读(2593) 评论(1) 推荐(1) 编辑
摘要:1、基本知识 poll的机制与select类似,与select在本质上没有多大差别,管理多个描述符也是进行轮询,根据描述符的状态进行处理,但是poll没有最大文件描述符数量的限制。poll和select同样存在一个缺点就是,包含大量文件描述符的数组被整体复制于用户态和内核的地址空间之间,而不论这些文 阅读全文
posted @ 2016-11-04 22:33 GreenHand# 阅读(436) 评论(0) 推荐(0) 编辑
摘要:epoll 是Linux内核中的一种可扩展IO事件处理机制,最早在 Linux 2.5.44内核中引入,可被用于代替POSIX select 和 poll 系统调用,并且在具有大量应用程序请求时能够获得较好的性能( 此时被监视的文件描述符数目非常大,与旧的 select 和 poll 系统调用完成操 阅读全文
posted @ 2016-11-04 22:00 GreenHand# 阅读(585) 评论(0) 推荐(0) 编辑
摘要:select(),poll(),epoll()的总结:http://www.cnblogs.com/Anker/p/3265058.html 在socket编程中,仅仅使用connect,accept、这些带有阻塞(block)的程序时,如果没有某个时间来满足条件,就会一直处于阻塞状态。可想而知在一 阅读全文
posted @ 2016-11-04 21:40 GreenHand# 阅读(585) 评论(0) 推荐(0) 编辑