Previous topicNext topic
Help > XEngine_Client > XClient_Socket > XClient_Socket > XClient_UDPClient >
XClient_UDPSelect_RecvPkt

函数

XClient_UDPSelect_RecvPkt

功能

接受一个完整包

语法

BOOL XClient_UDPSelect_RecvPkt(SOCKET hSocket, CHAR** pptszMsgBuffer, int* pInt_Len, XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, int nTimeout = 2, CHAR* ptszAddr = NULL, int nIPVer = 2)

参数

 参数.一:hSocket
  In/Out:In
  类型:句柄
  可空:N
  意思:输入要操作的客户端句柄
 参数.二:pptszMsgBuffer
  In/Out:Out
  类型:字符指针的指针
  可空:N
  意思:输出获取到的协议头后的缓冲区,这个内存需要手动释放
 参数.三:pInt_Len
  In/Out:Out
  类型:整数型指针
  可空:N
  意思:输出后续缓冲区大小
 参数.四:pSt_ProtocolHdr
  In/Out:Out
  类型:数据结构指针
  可空:Y
  意思:输出协议头
 参数.五:nTimeout
  In/Out:In
  类型:整数型
  可空:Y
  意思:输入获取包超时时间,单位秒
 参数.六:ptszAddr
  In/Out:Out
  类型:字符指针
  可空:N
  意思:输出对方地址
 参数.七:nIPVer
  In/Out:In
  类型:整数型
  可空:Y
  意思:要使用的IP版本,V4或者V6

返回值

类型:逻辑型
意思:是否成功

备注

这个函数无法处理多个包在一个缓冲区,也无法处理分片包头
这个函数只能针对XEngine标准头

示例