IOCP一些学习

ON_EN_CHANGE(IDC_CONTENT, &CClientDlg::OnEnChangeContent)

1.数据的解析属于业务层的逻辑,不要放到网络层来

2.CRITICAL_SECTION / MUTEXT 封装时注意把拷贝构造函数和复制构造函数私有化

private:
CCriSec(const CCriSec& cs);
CCriSec operator = (const CCriSec& cs);

3.将各种同步对象封装并留出相同的接口,这种方式以前没用过

template<class CLockObj> class CLocalLock
{
public:
CLocalLock(CLockObj& obj) : m_lock(obj) {m_lock.Lock();}
~CLocalLock() {m_lock.Unlock();}
private:
CLockObj& m_lock;
};


typedef CLocalLock<CCriSec> CCriSecLock;
typedef CLocalLock<CCriSec2> CCriSecLock2;
typedef CLocalLock<CMTX> CMutexLock;


以此来实现同步成员变量的局部适配

CCriSecLock locallock(m_scBuffer);


4. 这种格式看着挺规范的

LPFN_ACCEPTEX Get_AcceptEx_FuncPtr (SOCKET sock);


5.客户端SOCKET,初始状态设为STOPPED,创建中STARTING,创建后STARTED

在处理线程里面

while( state == STARTED)

{

}


6.通过接口向外传递数据时,SOCKET以一个DWORD为标记传出去,不要直接传SOCKET

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值