예제 #1
0
        public void JT808Header_2019Test2()
        {
            byte[]      headerBytes = "010264FF0200000000013812345678008700000000".ToHexBytes();
            JT808Header jT808Header = JT808Serializer.Deserialize <JT808Header>(headerBytes);

            Assert.Equal(135, jT808Header.MsgNum);
            Assert.Equal(2, jT808Header.ProtocolVersion);
            Assert.Equal("13812345678", jT808Header.TerminalPhoneNo);
            Assert.True(jT808Header.MessageBodyProperty.IsPackage);
            Assert.True(jT808Header.MessageBodyProperty.VersionFlag);
            Assert.Equal(JT808MsgId.终端鉴权.ToValue(), jT808Header.MsgId);
            Assert.Equal(255, jT808Header.MessageBodyProperty.DataLength);
        }
예제 #2
0
        public void Test5()
        {
            JT808Header jT808HeaderProperty = new JT808Header();

            jT808HeaderProperty.TerminalPhoneNo = "13812345678";
            jT808HeaderProperty.MessageBodyProperty.DataLength = 5;
            jT808HeaderProperty.MsgNum = 135;
            jT808HeaderProperty.MsgId  = JT808MsgId.终端鉴权.ToUInt16Value();
            //"01 02 00 05 01 38 12 34 56 78 00 87"
            var hex = JT808Serializer.Serialize(jT808HeaderProperty).ToHexString();

            Assert.Equal("010200050138123456780087", hex);
        }
예제 #3
0
        public void Test1()
        {
            JT808Header jT808HeaderProperty = new JT808Header
            {
                TerminalPhoneNo = "13812345678"
            };

            jT808HeaderProperty.MessageBodyProperty = new JT808HeaderMessageBodyProperty(5);
            jT808HeaderProperty.MsgNum = 135;
            jT808HeaderProperty.MsgId  = JT808MsgId.终端鉴权.ToUInt16Value();

            var hex = JT808Serializer.Serialize(jT808HeaderProperty).ToHexString();

            Assert.Equal("01 02 00 05 01 38 12 34 56 78 00 87".Replace(" ", ""), hex);
        }
예제 #4
0
        public void JT808Header_2019Test1()
        {
            JT808Header jT808HeaderProperty = new JT808Header
            {
                TerminalPhoneNo = "13812345678"
            };
            JT808HeaderMessageBodyProperty jT808HeaderMessageBodyProperty = new JT808HeaderMessageBodyProperty();

            jT808HeaderMessageBodyProperty.DataLength  = 255;
            jT808HeaderMessageBodyProperty.IsPackage   = true;
            jT808HeaderMessageBodyProperty.Encrypt     = JT808EncryptMethod.RSA;
            jT808HeaderMessageBodyProperty.VersionFlag = true;
            jT808HeaderProperty.MessageBodyProperty    = jT808HeaderMessageBodyProperty;
            jT808HeaderProperty.MsgNum          = 135;
            jT808HeaderProperty.MsgId           = JT808MsgId.终端鉴权.ToUInt16Value();
            jT808HeaderProperty.ProtocolVersion = 2;
            var hex = JT808Serializer.Serialize(jT808HeaderProperty).ToHexString();

            Assert.Equal("010264FF0200000000013812345678008700000000", hex);
        }
예제 #5
0
        public void Test5()
        {
            JT808Package jT808Package = new JT808Package();
            JT808Header  header       = new JT808Header();

            header.MsgId           = 0x9101;
            header.MsgNum          = 1;
            header.TerminalPhoneNo = "";
            jT808Package.Header    = header;
            JT808_0x9101 jT808_0X9101 = new JT808_0x9101();

            jT808_0X9101.ServerIp   = "";
            jT808_0X9101.TcpPort    = 1078;
            jT808_0X9101.UdpPort    = 0;
            jT808_0X9101.ChannelNo  = 3;
            jT808_0X9101.DataType   = 1;
            jT808_0X9101.StreamType = 1;
            jT808Package.Bodies     = jT808_0X9101;
            var hex = JT808Serializer.Serialize(jT808Package).ToHexString();
        }
예제 #6
0
        public void Test3()
        {
            JT808Package jT808Package = new JT808Package();
            JT808Header  header       = new JT808Header();

            header.MsgId           = 0x9102;
            header.ManualMsgNum    = 1;
            header.TerminalPhoneNo = "12345679810";
            jT808Package.Header    = header;
            JT808_0x9102 jT808_0X9102 = new JT808_0x9102();

            jT808_0X9102.ChannelNo   = 1;
            jT808_0X9102.ControlCmd  = 1;
            jT808_0X9102.CloseAVData = 0;
            jT808_0X9102.StreamType  = 0;
            jT808Package.Bodies      = jT808_0X9102;
            var hex = JT808Serializer.Serialize(jT808Package).ToHexString();

            //7E910200040123456798100001010100001E7E
            Assert.Equal("7E910200040123456798100001010100001E7E", hex);
        }
예제 #7
0
        public static void CreateMain(string terminalPhoneNo, string serverIPAddress, JT808Serializer JT808Serializer, IJT808DotNettyWebApi JT808DotNettyWebApiClient)
        {
            JT808Package jT808Package = new JT808Package();
            JT808Header  header       = new JT808Header();

            header.MsgId           = 0x9101;
            header.MsgNum          = 2;
            header.TerminalPhoneNo = terminalPhoneNo;
            jT808Package.Header    = header;
            JT808_0x9101 jT808_0X9101 = new JT808_0x9101();

            jT808_0X9101.ServerIPAddress           = serverIPAddress;
            jT808_0X9101.ServerVideoChannelTcpPort = 1808;
            jT808_0X9101.ServerVideoChannelUdpPort = 0;
            jT808_0X9101.LogicalChannelNo          = 1;
            jT808_0X9101.DataType   = 1;
            jT808_0X9101.StreamType = 0;
            jT808Package.Bodies     = jT808_0X9101;

            var data = JT808Serializer.Serialize(jT808Package);

            Console.WriteLine(JsonConvert.SerializeObject(data.ToHexString()));

            var tmpSend = JsonConvert.SerializeObject(new JT808UnificationSendRequestDto
            {
                TerminalPhoneNo = terminalPhoneNo,
                Data            = data
            });

            //var result = JT808DotNettyWebApiClient.UnificationTcpSend(new JT808UnificationSendRequestDto
            //{
            //    TerminalPhoneNo = terminalPhoneNo,
            //    Data = data
            //}).GetAwaiter().GetResult();

            //Console.WriteLine(JsonConvert.SerializeObject(result));
            Console.WriteLine(tmpSend);
        }
예제 #8
0
        public void Test3()
        {
            JT808Package jT808Package = new JT808Package();
            JT808Header  header       = new JT808Header();

            header.MsgId           = 0x9101;
            header.MsgNum          = 1;
            header.TerminalPhoneNo = "12345679810";
            jT808Package.Header    = header;
            JT808_0x9101 jT808_0X9101 = new JT808_0x9101();

            jT808_0X9101.ServerIPAddress           = "127.0.0.1";
            jT808_0X9101.ServerVideoChannelTcpPort = 1888;
            jT808_0X9101.ServerVideoChannelUdpPort = 0;
            jT808_0X9101.LogicalChannelNo          = 1;
            jT808_0X9101.DataType   = 1;
            jT808_0X9101.StreamType = 1;
            jT808Package.Bodies     = jT808_0X9101;
            var hex = JT808Serializer.Serialize(jT808Package).ToHexString();

            Assert.Equal("7E910100110123456798100001093132372E302E302E31076000000101014C7E", hex);
            //7E910100110123456798100001093132372E302E302E31076000000101014C7E
        }
예제 #9
0
 public JT808_0x8001Package(JT808Header jT808Header, JT808_0x8001 bodies) : base(jT808Header, bodies)
 {
 }
예제 #10
0
 protected abstract JT808Package Create(JT808Header jT808Header, TBodies bodies);
예제 #11
0
 public JT808PackageBase(JT808Header jT808Header, TBodies bodies)
 {
     this.JT808Package = Create(jT808Header, bodies);
 }
예제 #12
0
 public JT808_0x8300Package(JT808Header jT808Header, JT808_0x8300 bodies) : base(jT808Header, bodies)
 {
 }
예제 #13
0
파일: Program.cs 프로젝트: weikety/JT1078
        static void Main(string[] args)
        {
            IServiceCollection serviceDescriptors = new ServiceCollection();

            serviceDescriptors
            .AddJT808Configure()
            .AddJT1078Configure();

            serviceDescriptors.AddHttpApi <IJT808DotNettyWebApi>().ConfigureHttpApiConfig((c, p) =>
            {
                c.HttpHost = new Uri("http://localhost:12828/jt808api/");
                c.FormatOptions.DateTimeFormat = "yyyy-MM-dd HH:mm:ss.fff";
                c.LoggerFactory = p.GetRequiredService <ILoggerFactory>();
            });

            IServiceProvider serviceProvider = serviceDescriptors.BuildServiceProvider();

            IJT808Config    config          = serviceProvider.GetRequiredService <IJT808Config>();
            JT808Serializer JT808Serializer = config.GetSerializer();

            string terminalPhoneNo = "";

            JT808Package jT808Package = new JT808Package();
            JT808Header  header       = new JT808Header();

            header.MsgId           = 0x9101;
            header.MsgNum          = 1;
            header.TerminalPhoneNo = terminalPhoneNo;
            jT808Package.Header    = header;
            JT808_0x9101 jT808_0X9101 = new JT808_0x9101();

            jT808_0X9101.ServerIPAddress           = "127.0.0.1";
            jT808_0X9101.ServerVideoChannelTcpPort = 1888;
            jT808_0X9101.ServerVideoChannelUdpPort = 0;
            jT808_0X9101.LogicalChannelNo          = 1;
            jT808_0X9101.DataType   = 1;
            jT808_0X9101.StreamType = 1;
            jT808Package.Bodies     = jT808_0X9101;

            var data = JT808Serializer.Serialize(jT808Package);

            Console.WriteLine(JsonConvert.SerializeObject(data.ToHexString()));

            IJT808DotNettyWebApi JT808DotNettyWebApiClient = serviceProvider.GetRequiredService <IJT808DotNettyWebApi>();
            var result = JT808DotNettyWebApiClient.UnificationTcpSend(new JT808UnificationSendRequestDto
            {
                TerminalPhoneNo = terminalPhoneNo,
                Data            = data
            }).GetAwaiter().GetResult();

            Console.WriteLine(JsonConvert.SerializeObject(result));

            //JT808Package jT808Package1 = new JT808Package();
            //JT808Header header1 = new JT808Header();
            //header1.MsgId = 0x9102;
            //header1.MsgNum = 2;
            //header1.TerminalPhoneNo = terminalPhoneNo;
            //jT808Package1.Header = header;
            //JT808_0x9102 jT808_0X9102 = new JT808_0x9102();
            //jT808_0X9102.LogicalChannelNo = 1;
            //jT808_0X9102.ControlCmd = 1;
            //jT808_0X9102.CloseAVData = 0;
            //jT808_0X9102.SwitchStreamType = 0;
            //jT808Package1.Bodies = jT808_0X9102;
            //var data1 = JT808Serializer.Serialize(jT808Package1);
            //Console.WriteLine(JsonConvert.SerializeObject(data1.ToHexString()));

            //var result1 = JT808DotNettyWebApiClient.UnificationTcpSend(new JT808UnificationSendRequestDto
            //{
            //    TerminalPhoneNo = terminalPhoneNo,
            //    Data = data1
            //}).GetAwaiter().GetResult();

            //Console.WriteLine(JsonConvert.SerializeObject(result1));

            Console.ReadKey();
        }