我在 IOCP 结构化服务器上使用 wsasend。有一个问题。
wsabuf [bufcount - 1] .buf = pPacket-> GetPacketBufferPtr ();
wsabuf [bufcount - 1] .len = (int) pPacket-> Get_PacketSize ();
iSendSize + = wsabuf [bufcount - 1] .len;
bufcount ++;
int retval = WSASend (pSession-> socket, wsabuf, bufcount-1, & sendbytes,flag, & pSession-> overlapped_Send, NULL);
if (retval == SOCKET_ERROR)
{
if (WSAGetLastError ()! = WSA_IO_PENDING)
{
......
}
}
if (retval == 0)
{
if (sendbytes! = iSendSize)
{
........
}
}
.....
在上面的代码中,我保存了要发送到 wsabuf 的数据包,并通过 wsasend 发送它。最后,我比较了 sendbytes 和 iSendSize 。顺便说一句,sendbytes 和 iSendSize 是不同的。我不知道为什么。