public ClientConnection(Socket socket) { listener = new Listener(socket, sendingPort, listeningPort, "127.0.0.1"); writer = new UDPWriter(listener); reader = new UDPReader(listener, writer); IAdvancedMenuActions menuActions = new AdvancedMenuActions(new PathController(reader), reader, writer); menuController = new AdvancedMenuController(menuActions, reader, writer); }
public bool Connect(Listener listener) { UDPWriter writer = new UDPWriter(listener); UDPReader reader = new UDPReader(listener, writer); listener.Receive(out string s, out MessageStatus status); if (status == MessageStatus.OK) { listener.sendingIP = new IPEndPoint(IPAddress.Parse(s), sendingPort); listener.listeningIP = new IPEndPoint(IPAddress.Parse(s), listeningPort); } else { return(false); } return(true); }
private async void ReadUDPData(CancellationToken token) { _udpReader = new UDPReader(); await Task.Factory.StartNew((Action)(() => { while (!token.IsCancellationRequested) { if (_udpReader.Connected) { ProcessUDPData(); } Thread.Sleep(_pollInterval); } })); _udpReader.Stop(); _udpReader = null; }
static void Main(string[] args) { consoleReader = new ConsoleReader(); consoleWriter = new ConsoleWriter(); consoleWriter.WriteLine("Lab3 client"); IPAddress address; if (!IPAddress.TryParse(args[0], out address) || !IPAddress.TryParse(args[1], out address)) { consoleWriter.WriteLine("Parsing error"); return; } Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); socket.Bind(new IPEndPoint(IPAddress.Parse(localAddress), listeningPort)); Listener listener = new Listener(socket, sendingConnectionPort, listeningPort, args[0]); UDPWriter writer = new UDPWriter(listener); writer.Write(MessageStatus.OK, args[1]); checking = true; listener = new Listener(socket, sendingPort, listeningPort, args[0]); writer = new UDPWriter(listener); reader = new UDPReader(listener, writer); Thread thread = new Thread(Write); thread.Start(); dateTime = DateTime.Now; Thread checkThread = new Thread(Check); checkThread.Start(); while (running) { writer.Write(consoleReader.ReadString()); checking = true; dateTime = DateTime.Now; } }