资源简介

使用IOCP完成端口和SOCKET封装的异步TCP类。 支持客户端和服务器的常用TCP接口:绑定Bind、监听Listen、接收Recv、连接Conn、发送Send、关闭Close。所有接口均使用异步回调的方式处理,内部实现使用Windows下性能最高的IOCP完成端口网络模型,并很好地处理了多线程安全和同步问题。 线程创建和事件信号量等地方用到了MFC的类,如果项目不支持MFC,可以把这些地方替换成WindowsAPI的方式。 代码是从成熟项目中分离出来的,能达到很高的性能和网络吞吐量,并且稳定无BUG。

资源截图

代码片段和文件信息

#include “StdAfx.h“

#include “AutoLock.h“

CAutoLock::CAutoLock(CSyncobject * pLock
 AutoLock::PFNPutTip pfnPutTip void * pThis)
{
m_pLock = pLock;
m_pfnPutTip = pfnPutTip;
m_pThis = pThis;

if (m_pLock == NULL)
{
_PutTip(““ AutoLock::CONSTRUCT_LOCK_NULL);
return;
}
try
{
if (!m_pLock->Lock())
{
_PutTip(““ AutoLock::CONSTRUCT_LOCK_FAIL);
return;
}
}
catch (...)
{
_PutTip(““ AutoLock::CONSTRUCT_LOCK_EXCEPTION);
return;
}
}

CAutoLock::~CAutoLock(void)
{
if (m_pLock == NULL)
{
_PutTip(““ AutoLock::DESTRUCT_LOCK_NULL);
return;
}
if (!m_pLock->Unlock())
{
_PutTip(““ AutoLock::DESTRUCT_UNLOCK_FAIL);
return;
}
}

/******************************************************************************
输出提示

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1099  2016-01-25 17:42  AutoLock.cpp

     文件        998  2015-12-05 19:01  AutoLock.h

     文件        772  2016-01-25 17:36  AutoLockDef.h

     文件       8403  2017-01-18 21:35  ContextBuf.cpp

     文件       3605  2016-03-21 21:17  ContextBuf.h

     文件       4355  2016-03-21 18:48  ContextBufDef.h

     文件       4195  2017-01-18 21:35  SocketBuf.cpp

     文件       2428  2016-03-17 17:49  SocketBuf.h

     文件        951  2016-01-25 17:36  SocketBufDef.h

     文件      29861  2017-01-18 21:36  TCP.cpp

     文件      13056  2016-03-22 12:18  TCP.h

     文件       2803  2016-03-28 17:55  TCPDef.h

----------- ---------  ---------- -----  ----

                72526                    12


评论

共有 条评论