SuperSocket.ClientEngine icon indicating copy to clipboard operation
SuperSocket.ClientEngine copied to clipboard

ProcessReceive引发NullReferenceException

Open att1008 opened this issue 5 years ago • 1 comments

Framework 版本: v4.0.30319 说明: 由于未经处理的异常,进程终止。 异常信息: System.NullReferenceException 在 SuperSocket.ClientEngine.AsyncTcpSession.ProcessReceive(System.Net.Sockets.SocketAsyncEventArgs) 在 SuperSocket.ClientEngine.AsyncTcpSession.StartReceive() 在 System.Net.Sockets.SocketAsyncEventArgs.OnCompleted(System.Net.Sockets.SocketAsyncEventArgs) 在 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 在 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) 在 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) 在 System.Net.Sockets.SocketAsyncEventArgs.FinishOperationSuccess(System.Net.Sockets.SocketError, Int32, System.Net.Sockets.SocketFlags) 在 System.Net.Sockets.SocketAsyncEventArgs.CompletionPortCallback(UInt32, UInt32, System.Threading.NativeOverlapped*) 在 System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)

如果并发大的情况下会不定时出现这个问题

att1008 avatar Feb 19 '20 03:02 att1008

我利用DNSPY工具,在ProcessReceive方法里面抓了下异常,输出发现是 ProcessReceive 方法的参数SocketAsyncEventArgs为null

att1008 avatar Feb 19 '20 16:02 att1008