Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
        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;
            }
        }