创建套接字失败解决思路

创建套接字失败
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 就能查出来 是什么原因