iocp udp  在获得完成端口状态后,试用readfile能够得到数据,但是无法获取发送数据段IP地址,而且效率不高,顾使用WSARecvFrom, 
int ret =WSARecvFrom(pServer->g_hSocket,                   
&(DataBuff),                            
         1,                                               
&(recnum),                                  
&lpFlags,                                                           
(SOCKADDR*) & (remoteAddr),                                
&(remoteAddrLen),                
&(Overlapped),                                
NULL);   
但是返回错误代码10045,WSAENOTSUPPORT 请问如何解决,谢谢!

解决方案 »

  1.   

    使用参数定义:
    WSABUF DataBuff;
    DataBuff.len = 1024;
    DataBuff.buf = ReadBuffer;unsigned long recnum = 1024;SOCKADDR_IN remoteAddr;int remoteAddrLen = sizeof(remoteAddr);OVERLAPPED Overlapped;
    Overlapped.hEvent =pServer->g_hReadEvent;
    Overlapped.Offset =0;
    Overlapped.OffsetHigh =0;
    Overlapped.Internal =0;
    Overlapped.InternalHigh =0;
      

  2.   

    使用readfile读完数据后,使用Getpeername 也不行我真的没分,会的高手义务奉献一下好么? 你会万福的!
      

  3.   

    UDP使用IOCP完全没有效率上的意义。