请教,怎解用静态MFC编译运行时不能成功创建socket?
程序用共享DLL编译能正常运行,但改为静态MFC编译运行时,总弹出错误对话框如下:
Debug Assertion Failed!
Program:...
File:f:\rtm\vctools\vc7libs\ship\atlmfc\src\mfc\map_pp.cpp
Line:179
.....
调试发现程序未运行完create()函数就出错了,请问是什么原因造成的?
接收端:
CSocket sReceive;
if (!sReceive.Create(PORT, SOCK_DGRAM))
{
::AfxMessageBox( "socket创建失败: " + pdlg-> GetError(sReceive.GetLastError()));
return -1;
}
发送端:
CSocket sSend;
if (!sSend.Create(0, SOCK_DGRAM))
{
::AfxMessageBox( "socket创建失败: " + pdlg-> GetError(sSend.GetLastError()));
return -1;
}
还有个问题,既然CAsyncSocket的Create()函数中已调用了Bind()函数,那么用CSocket创建的数据报socket在调用Create()函数后还需不需要调用Bind()函数进行绑定?
[解决办法]
File:f:\rtm\vctools\vc7libs\ship\atlmfc\src\mfc\map_pp.cpp
Line:179
---------
看那一行的代码不就知道了