一个简单的完成端口(服务端/客户端)类
2009-02-25 19:59:50 来源:WEB开发网nPort
服务端侦听的端口. ( -1 客户端模式.)
iMaxNumConnections
允许最大的连接数. (使用较大的数.)
iMaxIOWorkers
I/O工作线程数
nOfWorkers
逻辑工作者数量Number of logical workers. (可以在运行时改变.)
iMaxNumberOfFreeBuffer
重复使用的缓冲最大数. (-1 不使用, 0= 不限)
iMaxNumberOfFreeContext
重复使用的客户端信息对象数 (-1 for 不使用, 0= 不限)
bOrderedRead
顺序读取. (我们已经在 3.6.2. 处讨论过)
bOrderedSend
顺序写入. (我们已经在 3.6.2. 处讨论过)
iNumberOfPendlingReads
等待读取数据时未决的异步读取循环数
连接到远程服务器(客户端模式nPort=-1),调用函数:
CodeConnect(const CString &strIPAddr, int nPort)
.strIPAddr
远程服务器的IP地址
.nPort
端口
调用ShutDown()关闭连接
例如:
if(!m_iocp.Start(-1,1210,2,1,0,0))
AfxMessageBox("Error could not start the Client");
….
m_iocp.ShutDown();
4.1 源代码描述
更多关于源代码的信息请参考代码里的注释。
4.1.1 虚函数
NotifyNewConnection
新的连接已接受
NotifyNewClientContext
空的ClientContext结构被分配
NotifyDisconnectedClient
客户端连接断开
ProcessJob
逻辑工作者需要处理一个工作
NotifyReceivedPackage
新的包到达
NotifyFileCompleted
文件传送完成。
4.1.2 重要变量
更多精彩
赞助商链接