
C++网络
zhengjie19
这个作者很懒,什么都没留下…
展开
-
epoll使用
epoll使用 epoll的工作原理是,你如果想进行IO操作时,先向epoll查询是否可读或可写,如果处于可读或可写状态后,epoll会通过epoll_wait函数通知你,此时你再进行进一步的recv或send操作。 epoll仅仅是一个异步事件的通知机制,其本身并不作任何的IO读写操作,它只负责告诉你是不是可以读或可以写了,而具体的读写操作,还要应用层自己原创 2008-04-08 16:35:00 · 6517 阅读 · 2 评论 -
EPOLL的ET和LT模式
EPOLL的ET和LT模式 近日又继续学习了一下EPOLL的工作模式,这会基本上搞清楚了,因而撰写了此篇文档进行描述。先来一段网上的介绍文档:EPOLL事件分发系统可以运转在两种模式下:Edge Triggered (ET)、Level Triggered (LT)。LT是缺省的工作方式,并且同时支持blo原创 2008-04-08 16:33:00 · 5480 阅读 · 3 评论 -
很幽默的讲解六种Socket IO模型
很幽默的讲解六种Socket IO模型(转)本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教。 一:select模型 二:WSAAsyncSelect模型 三:WSAEventSelect模型 四:Overlapped I/O 事件通知模型 五:Overlapped I/O 完成例程模型 六:IOCP模型 老陈有一个在外地工作的女儿,不能经转载 2008-11-12 11:17:00 · 839 阅读 · 0 评论 -
重叠模型--事件对象通知
第一章 一. 重叠模型的优点 1. 可以运行在支持Winsock2的所有Windows平台 ,而不像完成端口只是支持NT系统。 2. 比起阻塞、select、WSAAsyncSelect以及WSAEventSelect等模型,重叠I/O(Overlapped I/O)模型使应用程序能达到更佳的系统性能。 因为它和这4种模型不同的是,使用重叠模型的应用程序通知缓冲区收发系统直接使用数据,也就是说,如转载 2008-11-12 16:27:00 · 805 阅读 · 0 评论 -
WSAAsyncSelect 异步I/O模型
WSAAsyncSelect(s, hwnd, WM_SOCKET, FD_CONNECT | FD_READ | FD_WRITE | FD_CLOSE); 这样一来,我们的应用程序以后便可在套接字 s上,接收到有关连接、发送、接收以及套接字关闭这一系列网络事件的通知。特别要注意的是,多个事件务必在套接字上一次注册!另外还要注意的是,一旦在某个套接字上允许了事件通知,那么以后除非明确调用c l转载 2008-11-12 11:43:00 · 1349 阅读 · 0 评论 -
WSAEventSelect-事件通知模型
该模型最主要的差别在于网络事件会投递至一个事件对象句柄,而非投递至一个窗口例程。事件通知事件通知模型要求我们的应用程序针对打算使用的每一个套接字,首先创建一个事件对象。创建方法是调用W S A C r e a t e E v e n t函数,它的定义如下:WSAEVENT WSACreateEvent(void); WSAWaitForMultipleEvents翻译 2008-11-12 11:46:00 · 1143 阅读 · 0 评论 -
setsockopt()改善程序的健壮性
1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL)); 2转载 2008-12-22 10:30:00 · 596 阅读 · 0 评论