读书人

创建套接字失败解决思路

发布时间: 2012-03-28 15:40:03 作者: rapoo

创建套接字失败

C/C++ code
BOOL CChDlg::InitSocket(){    m_socket = socket(AF_INET,SOCK_DGRAM,0);    if (INVALID_SOCKET==m_socket)    {        AfxMessageBox("失败INIT");        return FALSE;    }    SOCKADDR_IN addrSock;    addrSock.sin_addr.S_un.S_addr = htonl(INADDR_ANY);    addrSock.sin_family=AF_INET;    addrSock.sin_port = htons(6000);    int retval;        retval = bind(m_socket,(SOCKADDR*)&addrSock,sizeof(SOCKADDR));    if (SOCKET_ERROR==retval)    {        closesocket(m_socket);        AfxMessageBox("绑定失败");        return FALSE;    }    return TRUE;}


已经使用 AfxSocketInit()成功加载套接字了,没有失败的提示
为什么这里创建失败呢,我写的是基于一个UDP的聊天程序


[解决办法]
WSAGetLastError();
[解决办法]
探讨
http://hi.baidu.com/galafx/blog/item/89ff5c16af175401c93d6dc8.html
感觉和这篇文章的原因是一样的,
我写的也是对话框程序
======================
创建套接字失败2009-03-21 15:09写了一个局域网聊天程序,在创建套接字的时候总是提示创建套接字失败。

研究了好久好久~~

终于发现问题的所在。

程序是在窗口创建的同时创建套接字的,所以套接字库一定要在创建窗口前加载。

这是个很低级的错误,呵呵~
===========================================================
这个加载放在哪里
我放在InitInstance 里也是失败

[解决办法]
使用 Getlasterror 就能查出来 是什么原因

读书人网 >VC/MFC

热点推荐