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); } }
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; } }
private void MessageReceived(object sender, Utility.WebUtility.MessageReceivedEventArgs args) { Console.WriteLine(args.RemoteEndpoint + " " + args.LocalEndpoint + " " + args.Message); }