建立MFC项目时 没有选择套接字选项, 中途如何给程序添加使用套接字的功能?
起初设计中没有要求网络功能,后来改了, 加入相应的套接字代码, 但是出现问题,比如sendto 返回值总是-1,同样代码在有套接字选项的项目中工作正常。请问如何补救, 是程序可以正常使用套接字? 谢谢 !
起初设计中没有要求网络功能,后来改了, 加入相应的套接字代码, 但是出现问题,比如sendto 返回值总是-1,同样代码在有套接字选项的项目中工作正常。请问如何补救, 是程序可以正常使用套接字? 谢谢 !
#include <afxsock.h>
使用CSocket等MFC Socket对象时,不要忘了在初始的时候加上下面的代码:
if (!AfxSocketInit())
{
AfxMessageBox(IDP_SOCKETS_INIT_FAILED);
return FALSE;
}
在stdafx.h中加上 #include <afxsock.h> // MFC 套接字扩展
这样还是不行,还需要添加链接的库文件
#pragma comment(lib,"winsock.lib")
#pragma comment(lib,"ws2_32.lib")
其实不用自己添加,在对话框初始化时候AfxSocketInit(); 这个中间就会出现包含有类似的上面两个库的语句
可以借用上面的语句在初始话即可
if (!AfxSocketInit())
{
AfxMessageBox("Failed");
return FALSE;
}