摘要:
[接上篇]封装目标: 最终目标是封装WinSock的WSAAsyncSelectIO模型。封装原则: 耦合性[减少各种依赖,包括classes之间,编译模块之间。],小粒度增加可复用性。依赖ATL/WTL。CKxAsyncSocket是我要实现的class,它只需要维护SOCKET成员,另外因为是异步选择,所以可以再维护一个HWND。关于HWND,是否有必要暴露给用户,关键在于Socket要仅仅运行于UI主线程,还是用户可以自己创建另一个有消息循环的Thread,在其上处理Socket的消息。我选择后者,因为,尽管异步的Socket,在Recv大数据的时候,还是可能导致UI“卡”的。那么,我们 阅读全文