函数名

vtcp_io_recv_packet_ex

声明

int WINAPI vtcp_io_recv_packet_ex(VTCP_SOCKET socket,SVTcpPkt* pkt,int* cb,sockaddr* sai,int *sailen, LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);

 

描述

直接接收非可靠传输的UDP数据包。

输入

VTCP_SOCKET socket: VTCP句柄,由vtcp_socket函数创建。

SVTcpPkt * pkt包缓冲区。

Int* cb:数据缓冲区大小。

sockaddr* sai: 发送目标地址。

Int* sailen: 发送目标地址长度。

LPWSAOVERLAPPED lpOverlapped: 重叠I/O结构。

LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine: 完成例程。

 

输出

SVTcpPkt * pkt: 实际接收到的包数据

Int* cb: 实际接收到的包大小。

Int* sailen: 实际sockaddr结构大小。

返回值(错误码=0 成功)

参考windows

 

 

参考

 

vtcp_io_recv_packet

 

typedef struct SVTcpPktHdr            

{

    unsigned short    ucmd;            

 

    unsigned short    usid;            

    unsigned short    usid_peer;       

 

    unsigned short    sin_port;        

    in_addr           sin_addr;        

 

}S_VTCP_PKT_HDR,*PS_VTCP_PKT_HDR;

 

 

typedef struct SVTcpPkt

{

    SVTcpPktHdr hdr;

 

    union

    {

        SVTcpPktConnect      connect;

       SVTcpPktConnectAck   connectAck;

       SVTcpPktData         data;

       SVTcpPktDataAck      dataAck;

       SVTcpPktSync         sync;

       SVTcpPktSyncAck      syncAck;

       SVTcpPktReset        reset;

       SVTcpPktResetAck     resetAck;

 

       char                 buffer[1];

 

    }body;

 

}S_VTCP_PKT,*PS_VTCP_PKT;