我是采用多播的方式,建立连接后在WSASendTO()时发生错误!如下:
int status = WSASendTo (MultiSock,   /* socket */
  SendBuf, /* output buffer structure */
  1,                       /* buffer count */
  cbRet,                  /* number of bytes sent */
  0, /* flags */
  (struct sockaddr FAR *)&DestAddr,/* destination address */
  sizeof(DestAddr), /* size of addr structure */
  NULL,                    /* overlapped structure */
  NULL);                   /* overlapped callback function */ if (status == SOCKET_ERROR) 
{
int mm = WSAGetLastError();
if (mm == WSA_IO_PENDING)
{
AfxMessageBox("重叠操作成功启动!过后将有完成指示");
}   AfxMessageBox("WSASendTo() Error");
  SendLen = -1;
}
int mm = WSAGetLastError();  得到的错误号为10014,请高手帮忙,先谢谢了!

解决方案 »

  1.   

    10014: 錯誤的記憶體位址系統偵測出使用錯誤的記憶體位址。呼叫WinSock函式時,常常會有參數是以指標的方式傳入,這個指標可能是指向一個結構,如sockaddr_in結構,或是指向一個資料緩衝區。當程式不小心傳入一個錯誤記憶體未指的指標時,就會發生WSAEFAULT這個錯誤。此外,當指標所指向的記憶體區塊太小的時候,也會發生這個錯誤。