예제 #1
0
        static void Main(string[] args)
        {
            var imei = TeleofisHelper.GetNewImei();
            AsyncWrxTcpDeviceAuthorizer deviceAuthorizer = new AsyncWrxTcpDeviceAuthorizer(0, imei, "0.1", "1.0", "0000", WrxTcpChannelType.Service);
            IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9000);
            var        socket   = SocketFactory.Instance.Create(SocketType.Stream, ProtocolType.Tcp);

            socket.ConnectAsync(endPoint);
            SimpleSocketInputStream  inputStream  = new SimpleSocketInputStream(socket);
            SimpleSocketOutputStream outputStream = new SimpleSocketOutputStream(socket);
            var model = new TeleofisModel(imei)
            {
                AuthorizeSettingsPassword = "******",
                WrxGsmMode                 = WrxGsmMode.ThreeG,
                DiagnosticsLevel           = WrxDiagnosticsLevel.Messages,
                OutputAlarmDueTimeMinutes  = 0,
                OutputAlarmDurationSeconds = 0,
                OutputAlarmSchedule        = 0,
                OutputAlarmType            = WrxAlarmType.Monthly
            };
            AsyncWrxCommandHandler handler          = new AsyncWrxCommandHandler(model);
            WrxPacketReader        reader           = new WrxPacketReader(inputStream);
            WrxPacketWriter        writer           = new WrxPacketWriter(outputStream);
            WrxCommandServer       wrxCommandServer = new WrxCommandServer(inputStream, outputStream, handler);

            Authorize(reader, writer, deviceAuthorizer, wrxCommandServer);
            Console.WriteLine("Включился");
            Console.ReadKey();
        }
예제 #2
0
        private static async void Authorize(WrxPacketReader reader, WrxPacketWriter writer, AsyncWrxTcpDeviceAuthorizer deviceAuthorizer, WrxCommandServer wrxCommandServer)
        {
            try
            {
                await WrxTcpDeviceAuthorization.AuthorizeAsync(reader, writer, deviceAuthorizer);

                while (true)
                {
                    await wrxCommandServer.ProcessNextAsync();
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine("Disconnected");
            }
        }