我正在学习孙鑫老师的VC教程,其中一个例子,我的做法和教程一致,然而我的却出错了,不知道是什么原因造成,希望大家帮忙解决,谢谢!
问题描述:
我在CChatApp的InitInstance函数调用AfxSocketInit函数以加载套接字库,代码如下:
if (!AfxSocketInit()) {
AfxMessageBox(L"加载套接字库失败");
return FALSE;
}
然后在CChatDlg的自定义的函数InitSocket里进行创建套接字等操作,代码如下:
m_socket = socket(AF_INET, SOCK_DGRAM, 0);
if (INVALID_SOCKET == m_socket) {
MessageBox(L"套接字创建失败");
return FALSE;
}
其它一些操作都实现后,我调试运行,却提示“套接字创建失败”,Google了很久都没解决问题,希望大家帮帮忙,谢谢!
我用的是Win7 + VS2008
从错误代码来看,是你非法访问内存。程序访问内存是有规则的,如果试图访问违反规则的内存会被系统禁止,另外,访问不存在的地址或者越界也会出现异常。你可以手动跟踪一下,或者dump一下内存看看。
我也遇到你前面的问题啦 按你说的做还是错误啦!!