MFC:异步套接字编程举例—网络聊天室程序

本文通过一个实例介绍了如何在MFC中进行异步套接字编程,创建一个网络聊天室程序。核心内容涉及到版本检查、WSACleanup的正确使用以及HOSTENT结构的应用。
摘要由CSDN通过智能技术生成
网络聊天室程序(MFC:利用win32的扩展函数):
int WSAStartup(
  WORD wVersionRequested,
  LPWSADATA lpWSAData
);
一、加载套接字库:
//本程序要用到winsock2版本的函数,所以还要自己调用WSAStartup函数。将帮助文档中的例子代码复制
//放到CChatApp的InitInstance()函数中,并作相应修改,还需包含头文件#include <winsock2.h>和链接库
//文件ws2_32.lib(Alt+F7):
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 2, 2 ); //请求Winsock2.2版本,也是最高版本
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
    return;
}

if ( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 2 ) {        

//    WSACleanup( ); 放到析构函数中

    return false; //false
}
二、在App中增加析构函数终止对套接字库的使用:
CChatApp::~CChatApp()
{
WSACleanup();//终止对套接字的使用
}
三、CChatDlg添加成员变量SOCKET m_socket,并初始化为0,加析构:
CChatDlg::~CChatDlg(){
if(m_socket)
closesocket(m_socket);
}
四、添加初始化套接字库的函数(1、创建套接字 2、绑定套接字 3、注册网络读取事件),并在OnInitDi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值