private void setSockOpts() { m_Transport.NoDelay = RemoteNode.TcpNoDelay; if (RemoteNode.TcpRcvBufSize > 0) { m_Transport.ReceiveBufferSize = RemoteNode.TcpRcvBufSize; } if (RemoteNode.TcpSndBufSize > 0) { m_Transport.SendBufferSize = RemoteNode.TcpSndBufSize; } // Use keepalive timer m_Transport.SetSocketOption( System.Net.Sockets.SocketOptionLevel.Socket, System.Net.Sockets.SocketOptionName.KeepAlive, RemoteNode.TcpKeepAlive); // Close socket without waiting for it to deliver all data m_Transport.SetSocketOption( System.Net.Sockets.SocketOptionLevel.Socket, System.Net.Sockets.SocketOptionName.DontLinger, !RemoteNode.TcpLinger); //set SSH params RemoteNode.AppendSSHParamsToTransport(m_Transport); }