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