1
Vote

关于取消异步请求的问题

description

hi,在异步请求已经发出的时候,无法reuse SAEA结构,因为这个结构还在RecvAsync的时候就会收了,再次使用的时候就会出现SAEA类不能重用的错误提示:An asynchronous socket operation is already in progress using this SocketAsyncEventArgs instance. 除非在closesocket的时候抛出终止的异常:SocketError.OperationAbort 抛出这个错误后的SAEA类才可以重用, 可关键是这个错误并不总是抛出,所以偶尔就会出错,我看了你的代码,发现也有这个问题,不知道哥们有解决方案没有?如果有,请告知
微软并不提供取消异步请求的api,郁闷
复现方式:当客户端连接成功后,RecvAsync已经调用过后,服务端主动断开客户端的连接,重复几次就会出现。

comments