- 9
- 0
- 约7.66千字
- 约 7页
- 2016-08-23 发布于重庆
- 举报
VC下实现Socket编程方法
VC++下实现Socket编程方法
?
这里并没有直接应用MFC 提供的CSocket类,这是因为考虑到对于类而言,其成员函数调用必然是完全阻塞方式的,因此只能用于人工线程中。基于这种思想,可以在CObject类基础上派生一个套接字类,其使用方式为阻塞方式,虽然增加了使用的条件,但可以保证其正常工作,而不会出现不加控制地使用CSocket对象带来的冲突现象。
下面首先将具体介绍有关的套接字类的定义,新创建的套接字功能主要通过调用CSocket的相关操作实现。
1 套接字类CBlockingSocket
首先需要定义此套接字类,在类中设置了一个属性变量:SOCKET m_hSocket; m_hSocket 表示套接字的句柄。另外还构造了一组方法,其功能与CSocket类是对应的,下面以创建、监听、连接建立和消息的接收和发送为例,介绍其实现方法,。
????????? 创建
创建套接字即要求创建相应的连接,缺省类型为面向连接的流,具体实现为:
void CBlockingSocket::Create(int nType){
ASSERT(m_hSocket == NULL);
if((m_hSocket = socket(AF_INET, nType, 0)) == INVALID_SOCKET) {
throw new CBlockingSocketExc
原创力文档

文档评论(0)