
linux下的socket编程
文章平均质量分 54
xyxwangkai
暂无
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
sockaddr与sockaddr_in结构体简介
struct sockaddr { unsigned short sa_family; char sa_data[14]; }; sa_family是地址家族,一般都是“AF_xxx”的形式。好像通常大多用的是都是AF_INET。转载 2008-04-21 13:58:00 · 636 阅读 · 0 评论 -
epollEPOLL为我们带来了什么(转载)
epoll的操作就这么简单,总共不过4个API:epoll_create, epoll_ctl, epoll_wait和close.但凡作过比较深入的网络编程的人,都会知道,在win平台下,高效的IO模型是IOCP,而在linux底下则是 epoll。那么,epoll与iocp之间到底有哪些异同之处呢? Q:网络服务器的瓶颈在哪? A:IO效率。 在大家苦苦的为在线人数的增长而导致的系统转载 2008-04-22 16:27:00 · 752 阅读 · 0 评论 -
epoll-select的代替品
进入2.6内核时代, select应该进垃圾堆了 高并发服务器用select效率极低, 特别是使用非阻塞IO时更是慢得一蹋糊涂 改用epoll会大大改善 我一个程序监听从8000到18000共计1万个端口, 启动1万个LISTEN 用epoll来阻塞, 系统非常轻松, 完全没有惊群现象 epoll用法比select简单 初始化:创建epoll描述字; 向epoll描述字添加需要响应的套接字, 初始转载 2008-04-22 16:50:00 · 3348 阅读 · 1 评论 -
epoll的优点
epoll的优点 支持一个进程打开大数目的socket描述符(FD) select 最不能忍受的是一个进程所打开的FD是有一定限制的,由FD_SETSIZE设置,默认值是2048。对于那些需要支持的上万连接数目的IM服务器来说显 然太少了。这时候你一是可以选择修改这个宏然后重新编译内核,不过资料也同时指出这样会带来网络效率的下降,二是可以选择多进程的解决方案(传统的 Apache方案),不过虽然转载 2008-04-22 17:26:00 · 1300 阅读 · 0 评论