VC6 UDP编程聊天室BUG,求大神解?解决思路

VC6 UDP编程聊天室BUG,求大神解?
小的聊天程序(可以接收也可以发送),BUG是对某些IP(只是某些,如192.168.0.2,像192.168.0.5就不会出现此问题,等等)发送信息,然后再对本机IP发送信息(测试有在发送,但是本机接收不了),就接收不到了(别的IP发过来数据也接收不到了)。

具体实现函数是
 
C/C++ code
 CChatDlg::OnInitDialog() //初始化
        { 
         InitSocket();//调用创建socket函数
         RECVPARAM *recvParam = new RECVPARAM;   //RECVPARAM 是个结构体,包含socket和hWnd
    recvParam->hWnd = this->m_hWnd;
    recvParam->socket = m_socket;
    HANDLE hThread = ::CreateThread(NULL,0,Thread,(LPVOID)recvParam,0,NULL);
    ::CloseHandle(hThread);
}

DWORD WINAPI CChatDlg::Thread(LPVOID lpParameter)
{
    SOCKET socket = ((RECVPARAM*)(lpParameter))->socket;
    HWND hWnd = ((RECVPARAM*)(lpParameter))->hWnd;

    SOCKADDR_IN sockFrom;
    int len = sizeof(sockaddr);
         int result;
    char recvBuff[200]={0};
    char tempBuff[200]={0};
    while(true)
    {
        result = recvfrom(socket,recvBuff,200,0,(sockaddr*)&sockFrom,&len);  //接收数据
        if(SOCKET_ERROR == result)
            break;
        sprintf(tempBuff,"%s say : %s",inet_ntoa(sockFrom.sin_addr),recvBuff);    //出现bug时观察tempBuff是空的  
        ::PostMessage(hWnd,WM_RECVDATA,0,(LPARAM)tempBuff);
    }

    return 0;
}


------解决方案--------------------
抓个包看看,数据到达本机了没有,如果有,就说明你的程序中有问题~
------解决方案--------------------
封装了内容太多,
m_socket怎么来的?

你bind呢?