IOCP中在WSASend以及WSARecv的时候出现WSA_IO_PENDING情况的说明
摘要:应该是windows网络编程第二版里面提到过。现在整理一下。1:在IOCP中投递WSASend返回WSA_IO_PENDING的时候,表示异步投递已经成功,但是稍后发送才会完成。这其中涉及到了三个缓冲区。网卡缓冲区,TCP/IP层缓冲区,程序缓冲区。情况一:调用WSASend发送正确的时候(即立即返回,且没有错误),TCP/IP将数据从程序缓冲区中拷贝到TCP/IP层缓冲区中,然后不锁定该程序缓冲区,由上层程序自己处理。TCP/IP层缓冲区在网络合适的时候,将其数据拷贝到网卡缓冲区,进行真正的发送。情况二:调用WSASend发送错误,但是错误码是WSA_IO_PENDING的时候,表示此时TC
阅读全文
posted @
2013-03-22 17:08
carekee
阅读(6780)
推荐(0) 编辑