包含WSAOVERLAPPED的自定义结构

完成端口中包含WSAOVERLAPPED的自定义结构
struct IOCP_IO
{
 WSAOVERLAPPED ol;    // 如果用完成端口 自定义结构中第一个参数必须是它,每次投递WSARecv或WSASend时都要初始化该变量
 WSABUF  wsaBuf; //一次投递接收的数据内容和长度
 int  ptr;   //数据索引接收到第几个字节
 
 IOCP_KEY_PTR  iocp_key;
 IOCP_OPERATION operation;//操作类型读写
 char  buf[BUFFER_SIZE];//接收发送缓冲区(每执行一个完整包就会在该缓冲区内接收开始地址是WSABUF的buf所指向的位

置WSABUF中的len个数据),如果一次没有读完 就要投递多次WSARecv
 int  len;//buf[BUFFER_SIZE]的数据长度
 int  CMD;//类型 用来约定每个连接
};
WSABUF的结构是
typedef struct _WSABUF {
    u_long      len;     /* the length of the buffer */
    char FAR *  buf;     /* the pointer to the buffer */
} WSABUF, FAR * LPWSABUF;

完整包和投递的次数对应与接收的数据没任何关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值