首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

请问,怎解用静态MFC编译运行时不能成功创建socket

2012-02-29 
请教,怎解用静态MFC编译运行时不能成功创建socket?程序用共享DLL编译能正常运行,但改为静态MFC编译运行时,

请教,怎解用静态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
---------
看那一行的代码不就知道了

热点排行