private void OnAcceptComplete(object sender, SocketAsyncEventArgs args)
{
var acceptSocket = args.AcceptSocket;
args.AcceptSocket = null;
if (_socket != null)
IssueAccept();
if (args.SocketError != SocketError.Success)
{
if (acceptSocket != null)
acceptSocket.Close();
return;
}
if (acceptSocket != null)
{
if (Accepted == null || Accepted(this, acceptSocket) == AcceptResult.Close)
acceptSocket.Close();
}
lock (_lock)
_acceptArgsPool.Push(args);
}