Esempio n. 1
0
        private void Server_OnReceived(ClientSession session, LocalMessageEventArgs e)
        {
            try
            {
                if (e.bMessage[0] == Constants.HxAA && e.bMessage[1] == Constants.Hx55 && e.bMessage[2] == Constants.HxCC)
                {
                    SendData_Analysis insSD_A  = new SendData_Analysis(e.bMessage);
                    string            response = BitConverter.ToString(e.bMessage);
                    byte codeCmd = e.bMessage[3];
                    switch (codeCmd)
                    {
                    case Constants.Hx00:
                        Connect(session, insSD_A);
                        break;

                    case Constants.Hx01:
                        Ping(session, insSD_A);
                        //Cập nhật trạng thái 3 byte cuối của DATA
                        if (_dic0x01.ContainsKey(session))
                        {
                            int indexEnd = e.bMessage.Length - 1;
                            _dic0x01[session].PingPong_2 = e.bMessage[indexEnd - 1].ToString();
                            _dic0x01[session].PingPong_1 = e.bMessage[indexEnd - 2].ToString();
                            _dic0x01[session].PingPong_0 = e.bMessage[indexEnd - 3].ToString();
                        }
                        break;

                    case Constants.Hx08:
                        StoreData0x09(session, e.bMessage);
                        break;

                    case Constants.Hx09:
                        break;

                    case Constants.Hx0A:
                        _cmd0x0A.Process0x0A(session, false);
                        break;

                    case Constants.Hx0B:
                        UpdateThongSoXe(session, "Thành công");
                        break;

                    case Constants.Hx0C:
                        UpdateThongSoXe(session, "Không thành công");
                        break;

                    case Constants.Hx0D:
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                FileHelper.WriteLogError("", ex.Message + Environment.NewLine + ex.StackTrace);
            }
        }
Esempio n. 2
0
 private void Ping(ClientSession session, SendData_Analysis insSD_A)
 {
     Exec(() =>
     {
         ArraySegment <byte> pBuffer = new ArraySegment <byte>(insSD_A.DataSend.Data_Byte,
                                                               0,
                                                               insSD_A.DataSend.Data_Byte.Length);
         session.Send(new ArraySegment <byte>(pBuffer.Array));
     });
 }