最近写了个小程序,总是出现10049错误
下面是错误出现的代码客户端
if(m_sendsock.SendTo(&msgsend,sizeof(msgsend),1088,ip)==SOCKET_ERROR)
{
   CString error;
   error.Format("UDP发送错误%d",WSAGetLastError());
            MessageBox(error);
}m_sendsock 在此前是这样初始化的 
            m_sendsock.Create(0,SOCK_DGRAM);
服务器端监听是这样初始化的
         m_listen=new CListenSock(this);
m_listen->Create(0,SOCK_DGRAM);
SOCKADDR_IN addr;
addr.sin_addr.s_addr=htonl(INADDR_ANY);
addr.sin_port=1088;
addr.sin_family=AF_INET;
m_listen->Bind((SOCKADDR*)&addr,sizeof(SOCKADDR));附:CListenSock是一个派生自CSocket的类
      

解决方案 »

  1.   

    恩!是不是你的m_SendSock.sendto 中的IP地址问题?
      

  2.   

    楼上说的对,但是发送的内容收不到,不知道是哪里除了问题
    监听代码如下所示
    m_listen=new CListenSock(this); 
    m_listen->Create(0,SOCK_DGRAM); 
    SOCKADDR_IN addr; 
    addr.sin_addr.s_addr=htonl(INADDR_ANY); 
    addr.sin_port=1088; 
    addr.sin_family=AF_INET; 
    m_listen->Bind((SOCKADDR*)&addr,sizeof(SOCKADDR)); 
    发送代码
    m_sendsock.SendTo(&msgsend,sizeof(msgsend),1088,ip) 没有出现错误
      

  3.   

    addr.sin_port=1088; --》addr.sin_port=htons(1088); 
      

  4.   

    还是没有收到啊,这是怎么回事啊,是不是CSocket的OnReceive不接受udp请求啊
      

  5.   


    个人觉得这个是关键,我第一次接触SOCKET的时候也犯过这个错误。。