public virtual void Connect(string hostname, int port, byte[] handshake, TimeSpan? timeout) { var sock = new SocketWrapper(hostname, port, timeout); sock.Connect(handshake); Socket = sock; }