Beispiel #1
0
        static void Main(string[] args)
        {
            // Create the NetworkDatagramHandler, NetworkEventHandler,
            // and ServerState
            var datagramHandler = new NetworkDatagramHandler(3000);
            var state           = new ServerState(datagramHandler);
            var eventHandler    = new NetworkEventHandler(datagramHandler, state);

            Console.WriteLine("Server started - ready to recieve datagrams");

            // Loop until Ctrl-C
            while (true)
            {
                ;
            }
        }
        public void OneTimeSetup()
        {
            int port1 = 3000;
            int port2 = 3500;
            int port3 = 4000;

            _endPoint1 = new IPEndPoint(IPAddress.Parse("127.0.0.1"), port1);

            _handler1 = new(port1);
            _handler1.MessageRecieved += (_, callback) => {
                Console.WriteLine($"handler 1 recieved: { callback.Data }");
                _transmitted  = true;
                _lastRecieved = callback.Data switch
                {
                    "1st sent" => 1,
                    "2nd sent" => 2,
                    _ => - 1
                };

                callback.SendToCaller("1st sent", true);
                callback.SendToOthers("branched", true);
            };

            _handler2 = new(port2);
            _handler2.MessageRecieved += (_, callback) => {
                Console.WriteLine($"handler 2 recieved: { callback.Data }");
                if (callback.Data == "1st sent")
                {
                    _cycled = true;
                }
            };

            _handler3 = new(port3);
            _handler3.MessageRecieved += (_, callback) => {
                Console.WriteLine($"handler 3 recieved: { callback.Data }");
                if (callback.Data == "branched")
                {
                    _branched = true;
                }
            };
        }