Beispiel #1
0
        public void ShouldReceiveMessagesFromMultipleSources()
        {
            var listenerPort = 20002;

            var expectedMessages = new string[] { "msg 1", "msg 2" };

            var listener = new UdpMessageListener(listenerPort);
            var count    = 0;

            listener.Listen((actualMessage, address) =>
            {
                count++;
                Assert.IsTrue(expectedMessages.Contains(actualMessage));
                if (count >= 2)
                {
                    AsyncAssert.Done();
                }
            });

            var writer1 = new UdpMessageSender();

            var writer2 = new UdpMessageSender();

            writer1.Send(expectedMessages[0], "localhost", listenerPort);
            writer2.Send(expectedMessages[1], "localhost", listenerPort);

            AsyncAssert.Wait();

            writer1.Dispose();
            writer2.Dispose();
            listener.Dispose();
        }
Beispiel #2
0
 public SendMessagesToClient(Sandbox sandbox)
 {
     Sandbox   = sandbox;
     Sender    = new UdpMessageSender();
     Addresses = new List <string>();
     Sandbox.PlayerUpdateAfterCollisions.Subscribe(OnPlayerUpdate);
     Sandbox.ServerEvents_PlayerConnected.Subscribe(PlayerConnected);
 }
Beispiel #3
0
 public SendMessagesToServer(Sandbox sandbox, string ip, int port)
 {
     Ip      = ip;
     Port    = port;
     Sandbox = sandbox;
     Sender  = new UdpMessageSender();
     Sandbox.PlayerUpdateAfterCollisions.Subscribe(PlayerUpdated);
 }
Beispiel #4
0
        public SendMessagesToServer(Sandbox sandbox, string ip, int port)
        {
            Ip      = ip;
            Port    = port;
            Sandbox = sandbox;

            Sender = new UdpMessageSender();
            //Sandbox.YouEnteredThePortal.Subscribe(EnteredMultiplayePortal);

            //Sandbox.OtherPlayerEnteredAsTheHost.Subscribe(OtherPlayerAsHost, ip);
            //Sandbox.OtherPlayerEnteredAsTheGuest.Subscribe(OtherPlayerAsGuest, ip);
        }
Beispiel #5
0
        public IpDiscover(Action <string> onNewIpDiscovered)
        {
            IpsFound          = new List <string>();
            OnNewIpDiscovered = onNewIpDiscovered;
            port        = 47777;
            myIp        = NetworkHelper.GetLocalIPAddress();
            broadcastIp = NetworkHelper.GetBroadcastAddress(
                IPAddress.Parse(myIp),
                IPAddress.Parse("255.255.255.0")).ToString();
            listener = new UdpMessageListener(port);
            sender   = new UdpMessageSender();
            listener.Listen(OnMessageReceived);

            var operation = new ParameterizedThreadStart(Broadcast);

            broadcastLoop = new Thread(operation, 1024 * 1024);
            broadcastLoop.Start();
        }
Beispiel #6
0
        public void ShouldReceiveAtLeastMessage()
        {
            var listenerPort    = 20000;
            var expectedMessage = "Opa! excelente~";

            var listener = new UdpMessageListener(listenerPort);

            listener.Listen((actualMessage, address) =>
            {
                Assert.AreEqual(expectedMessage, actualMessage);
                AsyncAssert.Done();
            });

            var writer = new UdpMessageSender();

            writer.Send(expectedMessage, "localhost", listenerPort);

            AsyncAssert.Wait();

            writer.Dispose();
            listener.Dispose();
        }