- 博客(8)
- 资源 (39)
- 收藏
- 关注
原创 重叠I/O完成例程模型如何同时投递WSARecv和WSASend
参考自这篇文章: http://www.winsocketdotnetworkprogramming.com/winsock2programming/winsock2advancediomethod5g.html 推荐大家去上面看看,讲得很细致,一步一步都很详细。因为都是英文的,所以坚持吧~下面重点就解释一下其原理,是通过什么方式来使一个完成例程同时处理WSARecv和WSASend的。首先我们
2016-11-28 21:59:07 2830 6
原创 重叠I/O之完成例程
这个模型中有两个函数可以交换着用,那就是WSAWaitForMultipleEvents()和SleepEx()函数,前者需要一个事件驱动,后者则不需要。是不是听起来后者比较厉害,当然不是,简单肯定是拿某种性能换来的,那就是当多client同时发出请求的时候,SleepEx如果等候时间设置成比较大的话,会造成client连接不上的现象。具体可以运行一下示例代码体会一下。 示例代码1(WSAWait
2016-11-28 21:36:33 2867
原创 重叠I/O之事件通知
使用重叠I/O之事件通知模型步骤如下:一、打开服务器(包括初始化、创建socket、绑定、监听)其中创建socket的时候可以使用WSASocket,也可以简单的使用socket,因为socket默认已经加上了WSA_FLAG_OVERLAPPED这个标志。二、创建ThreadAccept线程这个线程主要是用来不断的接受client的请求,并为每一个成功连接到server的client创建一个事件对
2016-11-28 13:16:17 888
原创 WSAEventSelect模型例子
WSAEventSelect模型和WSAAsyncSelect模型 相同点: 1.都是由系统通知应用程序处理网络事件 2.都是异步的 不同点:通知机制不一样,WSAAsyncSelect模型是以windows的消息机制来通知应用程序的。WSAEventSelect模型是以事件形式通知的。所以一个需要窗口,一个则不需要。建立WSAEventSelect模型步骤:1.为server socket
2016-11-19 22:54:18 4579
原创 WSAAsyncSelect模型例子
WSAAsyncSelect模型非常简单好用,因为它是基于windows窗口消息机制的,所以可以像其它消息处理一样来处理socket。使用该模型的步骤如下:1.定义一个消息#define WM_SOCKET WM_USER+0x10 //自定义socket消息要保证自定义消息大于WM_USER,否则可能会冲突2.使用WSAAsyncSelect注册WM_SOCKET消息,并选择感兴趣的网络事件
2016-11-19 17:10:37 2065
原创 基于select模型的多人聊天程序(C++)
原理参考该博文: http://blog.csdn.net/qq_18297675/article/details/53224494该程序采用select模型设计(只是服务器采用),服务器端只有四个线程。 1.接受请求线程 2.接收数据线程 3.发送数据线程 4.管理client状态线程优势显而易见,只用了四个线程,不用给每个client开辟一个新的线程管理。select模型的核心就是“轮
2016-11-18 23:20:03 3124
原创 socket select模型服务器设计
select函数原型:int select( int nfds, //该参数忽略,设为0 fd_set FAR* readfds, //可读套接字集合 fd_set FAR* writefds, //可写套接字集合 fd_set FAR* exceptfds,//检查错误套接字集合 const struct timeval FAR* timeout //
2016-11-18 23:00:45 1522
原创 socket非阻塞模式服务器设计与实现
阻塞和非阻塞的区别就是一个阻塞等待,一个直接返回,并返回一些有意义的错误代码。跳转到代码思路如下: 1.初始化套接字2.创建套接字3.设置socket为非阻塞模式int ioctlsocket( SOCKET s, //要设置的套接字 long cmd, //FIONBIO u_long FAR* argp //非零值);注: 关于第二第三个参数,MSDN是这样解释的
2016-11-14 20:04:56 2092 2
MFC操作excel
2016-12-25
JScript帮助文档
2016-05-24
w3school离线版
2016-05-24
css手册chm版
2016-05-24
Vsiaul Assist X VS2008-2015破解版
2015-12-25
Vsiaul Assist X VS2008-2015可用破解版
2015-12-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人