public void Connect(string username, string password, string[] tokens, string serverName) { if (State != ConnectionStates.Disconnected) { throw new InvalidOperationException(string.Format("Cannot start connecting MumbleConnection when connection state is {0}", State)); } State = ConnectionStates.Connecting; Protocol.Initialise(this); _tcp = new TcpSocket(Host, Protocol, this); _tcp.Connect(username, password, tokens, serverName); // UDP Connection is disabled while decryption is broken // See: https://github.com/martindevans/MumbleSharp/issues/4 // UDP being disabled does not reduce functionality, it forces packets to be sent over TCP instead _udp = new UdpSocket(Host, Protocol, this); //_udp.Connect(); State = ConnectionStates.Connected; }