Exemplo n.º 1
0
        private void MessageReceived(object sender, Utility.WebUtility.MessageReceivedEventArgs args)
        {
            Console.WriteLine(args.Message);
            Message incomingMessage = Utility.SerializeUtility.DeserializeJsonString <Message>(args.Message);

            if (incomingMessage.Type == MessageType.RequestConnection)
            {
                RequestConnectionMessage message = Utility.SerializeUtility.DeserializeJsonString <RequestConnectionMessage>(args.Message);
                Console.WriteLine(message.Type + " " + args.RemoteEndpoint.Address);
            }
        }
Exemplo n.º 2
0
        public void ParseDNSMessage(object sender, Utility.WebUtility.MessageReceivedEventArgs args)
        {
            Console.WriteLine("Thread ID" + Thread.CurrentThread.ManagedThreadId);
            try
            {
                MessageType type = Utility.SerializeUtility.DeserializeJsonString <Message>(args.Message).Type;
                Console.WriteLine(type + " " + args.RemoteEndpoint + " " + args.LocalEndpoint);
                Message message;

                switch (type)
                {
                case MessageType.SYN:
                    message = Utility.SerializeUtility.DeserializeJsonString <MessageSYN>(args.Message);
                    break;

                case MessageType.ACK:
                    message = Utility.SerializeUtility.DeserializeJsonString <MessageACK>(args.Message);
                    break;

                case MessageType.Refresh:
                    message = Utility.SerializeUtility.DeserializeJsonString <MessageRefresh>(args.Message);
                    break;

                case MessageType.Request:
                    message = Utility.SerializeUtility.DeserializeJsonString <MessageRequest>(args.Message);
                    break;

                case MessageType.GetDNS:
                    message = Utility.SerializeUtility.DeserializeJsonString <MessageGetDNS>(args.Message);
                    break;

                default:
                    break;
                }
                Message returnMessage = new MessageReject(0, "Hello");
                dnsListener.SendMessage(Utility.SerializeUtility.SerializeToJsonString(returnMessage), args.RemoteEndpoint);
            }
            catch (Exception e)
            {
                Message message = new MessageReject(0, "unknown message");
                dnsListener.SendMessage(Utility.SerializeUtility.SerializeToJsonString(message), args.RemoteEndpoint);
                return;
            }
        }
Exemplo n.º 3
0
 private void MessageReceived(object sender, Utility.WebUtility.MessageReceivedEventArgs args)
 {
     Console.WriteLine(args.RemoteEndpoint + " " + args.LocalEndpoint + " " + args.Message);
 }