public void StartClient() { _client = null; string dispServerHost = _settings.QueueServerHost; int dispServerPort = _settings.QueueServerPort; string stationName = _settings.StationName; string stationPost = _settings.StationPost; string userName = _settings.QueueUserName; string password = _settings.QueuePassword; _client = new TCPClient(dispServerHost, dispServerPort); _client.Notified += new Action <NotifyEventArgs>(TCPClientNotified); _client.Start(); if (_client.Connected) { _client.Session.DataReceived += new DataReceived(NetSessionDataReceived); string salt = _settings.SecuritySalt; string clearPwd = Util.DecryptPassword(password, salt); string passwordHash = Util.GetPasswordHash(clearPwd, userName); // SYS|LOGIN|REQ|[Module!Post!Station!Username!Password] string message = Msg.SysLogin.Text + Msg.Separator + "REQ" + Msg.Separator + "TICKET" + Msg.CompDelimiter + stationPost + Msg.CompDelimiter + stationName + Msg.CompDelimiter + userName + Msg.CompDelimiter + passwordHash; _client.Send(message); } }