问个IOCP当中的WSASend的问题
比如说有这样的一个IOCP服务器,他接到client的连接以后就开始给client发送一个文件,每次都从文件里读4K的数据存到一个缓存里头,然后调用WSASend发送给client,如果文件很大需要很长时间才能发送完毕,但是在发送过程当中client由于某些原因断线,这个时候要怎么处理。
我试了下,即使断线WSASend也不会返回WSA_IO_PENDING以外的错误,但是线程池里头的GetQueuedCompletionStatus倒是会返回FALSE,用WSAGetLastError返回的错误也很怪,一个是64一个是995(我一共用了两个线程)。
这种WSASend的情况要如何处理,毕竟我要在WSASend完成的时候delete掉缓存,否则内存泄漏了