函数名
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;