コード例 #1
0
        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);
            }
        }