csocket 相关

来源:互联网 发布:搞笑韩剧 知乎 编辑:程序博客网 时间:2024/05/09 03:22
如何使用WinSocket进行通讯

//   从CAsyncSocket类派生出自己的类CMySocket;从CSocket类派生出CListenSocket类。
//   实际上进行通信的是两个CMySocket类的实例。而CListenSocket类只是用于服务端
//   进行监听用的。一旦它收到客户端的连接请求,它将使用一个CMySocket类实例来接受
//   连接请求。连接成功后,服务端的CMySocket类实例与客户端的CMySocket类实例就可以
//   进行通信了。注意,重载CListenSocket类中的OnAccept函数,代码如下:
CMySocket* pSocket   =   new   CMySocket; //   要保证pSocket在函数返回后还存在。
if(!Accept(*pSocket)) return; //   关键是此句。

//   重载CMySocket类中的OnReceive函数,代码如下:
char ch;
int iErrorCode   =   Receive(&ch,   1); //   接收一个字符
if(iErrorCode   ==   0   ||   iErrorCode   ==   SOCKET_ERROR){ //   接受出错
AfxMessageBox( "接收错误! "); //   显示出错信息
return; //   函数返回
}

if(ch   ==   '\r '){ //   正常情况,判断接收到的字符是否等于 '\r '。
AfxMessageBox(m_strText); //   将接收到的信息显示出来。
m_strText   =   " "; //   将接收缓冲区清空。
}else{ //   字符不是 '\r '。
m_strText   +=   ch; //   将字符添加到缓冲区后面。
}

最后还要创建关闭套接字的函数。
ShutDown(2);
Close();
原创粉丝点击