private new void InitSocket(Socket socket)
{
base.InitSocket (socket, EffectiveEndPoint);
lock (_sendingLock) {
_socket = socket;
try {
socket.NoDelay = true;
//socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveBuffer, TcpConfiguration.SocketBufferSize);
//socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendBuffer, TcpConfiguration.SocketBufferSize);
} catch (ObjectDisposedException) {
CloseInternal (SocketError.Shutdown);
_socket = null;
return;
}
_receiveSocketArgs = new SocketAsyncEventArgs ();
_receiveSocketArgs.AcceptSocket = socket;
_receiveSocketArgs.Completed += OnReceiveAsyncCompleted;
_sendSocketArgs = new SocketAsyncEventArgs ();
_sendSocketArgs.AcceptSocket = socket;
_sendSocketArgs.Completed += OnSendAsyncCompleted;
}
StartReceive();
}