Example #1
0
        public override void OnMessageReceived(UdpReceiveResult result)
        {
            if (result.Buffer == null)
            {
                return;
            }

            if (result.Buffer.Length == 0)
            {
                return;
            }

            var message = MdvrMessageHelper.Parse(result.Buffer);

            if (message == null)
            {
                return;
            }

            var client = new DeviceClient(message.DevIDNO, result.RemoteEndPoint.Address, result.RemoteEndPoint.Port);

            if (Clients.ContainsKey(message.DevIDNO) == true)
            {
                client = Clients[message.DevIDNO];
            }
            else
            {
                if (Clients.TryAdd(message.DevIDNO, client) == true)
                {
                    ClientConnected?.Invoke(message.DevIDNO);
                }
            }

            HandleMessage(message, client);
        }
Example #2
0
        public void GetString()
        {
            var bytes = new byte[] { 0x00, 0x0f, 0x01, 0x0f, 0x02, 0x0f };

            bytes = MdvrMessageHelper.Escape(bytes);
            string messageString = MdvrMessageHelper.GetString(bytes);

            Assert.AreEqual(",#\u000f", messageString, true);
        }
Example #3
0
        public void GetBytes()
        {
            string messageString = ",#\u000f";
            var    bytes         = MdvrMessageHelper.GetBytes(messageString);

            bytes = MdvrMessageHelper.Escape(bytes, false);
            var expected = new byte[] { 0x00, 0x0f, 0x01, 0x0f, 0x02, 0x0f };

            CollectionAssert.AreEqual(expected, bytes);
        }
Example #4
0
        private void SendMessage(List <byte> byteList)
        {
            using (var ms = new MemoryStream())
            {
                using (var br = new BinaryWriter(ms))
                {
                    br.Write(MdvrMessageHelper.GetBytes(MdvrMessageHelper.MediaMessageStart));
                    br.Write(byteList.Count);
                    br.Write(byteList.ToArray());
                    br.Write(MdvrMessageHelper.GetBytes(MdvrMessageHelper.MediaMessageEnd));

                    var bytes = ms.ToArray();

                    Send(bytes);
                }
            }
        }
Example #5
0
        public C508Message()
        {
            var guid = Guid.NewGuid();

            UID = MdvrMessageHelper.GetString(guid.ToByteArray());
        }