做了个简单的UDP发送数据程序....在本机开始服务器监听线程接受数据,再开启个客户端发送数据。
在同一台机器开始两个程序则服务器,客户端都可以收发数据。但是服务器和客户端不在同一台机器,则就接受不到了(网络正常)。
大家知道大概是什么问题?

解决方案 »

  1.   

    服务器端,会自动获取本机IP,并bind 8880端口!代码如下
    //获取本机IP
    char szHostName[128];
    gethostname(szHostName,128); PHOSTENT   hostinfo; 
    if ((hostinfo=gethostbyname(szHostName))!= NULL)   
    {   
    m_sIpAddress = inet_ntoa(*(struct in_addr *)*hostinfo->h_addr_list);   
    }   
    else 
    {
    MessageBox(_T("获取本机IP失败!"), _T("消息提示"));
    }
    m_uiPort = 8880;客户端的的目标IP和端口,我是写死的!
    就是服务器的端口的IP,也不可以啊
      

  2.   

    服务端可以直接绑定INADDR_ANY试试看.
    sockaddr_in serv; 
    serv.sin_addr.s_addr=htonl(INADDR_ANY);