Example #1
0
        public TerrainNetworkTask(Initializer init)
            : base("Terrain Server")
        {
            //register for events
            Application.eventManager.addListener(handleTerrainResponse, "terrain.chunk.response");

            //setup socket
            int port = init.findDataOr("terrainServer.port", 2377);

            myServer = new TcpMessageServer(port);


            //add message callbacks
            myServer.onClientConnected  += new TcpMessageServer.ClientConnected(clientConnected);
            myServer.filterReceiveEvent += new TcpMessageServer.EventCallback(filterReceiveMessages);
            myServer.filterSendEvent    += new TcpMessageServer.EventCallback(filterSendMessages);
            myServer.receivedEvent      += new TcpMessageServer.EventCallback(
                delegate(Event e, TcpClient client)
            {
                Application.eventManager.queueEvent(e);
                return(true);
            });

            frequency = 1;
        }
Example #2
0
        public (TcpMessageServer, IMessageBinder, ISignal <IMessageSender>) CreateServerSide()
        {
            var binds         = new MessageBinder();
            var connectSignal = new Signal <IMessageSender>();
            var recv          = new MessageReceiver(binds, Serialier);
            var server        = new TcpMessageServer(recv, connectSignal, Serialier);

            return(server, binds, connectSignal);
        }
Example #3
0
 static void Start()
 {
     var server = new TcpMessageServer(12354);
     server.On("connect", async (c, m) => {
       Console.WriteLine("client connected to server");
       await server.SendAsync(c, "test", "hello");
       return true;
     });
     server.On("tick", async (c, m) => {
       Console.WriteLine("tick");
       return true;
     });
     server.StartInBackground();
 }
Example #4
0
        private static void StartServer(int parse)
        {
            var binder               = new MessageBinder();
            var recv                 = new MessageReceiver(binder, serializer);
            var connectSignal        = new Signal <IMessageSender>();
            var messageServer        = new TcpMessageServer(recv, connectSignal, serializer);
            var messageSernderAccess = new LoggedMessageSenderAccess(recv);

            var chatServer = new ChatServer(binder, messageSernderAccess, messageServer);

            chatServer.Listen(parse);

            Console.ReadKey();

            chatServer.Stop();
        }
Example #5
0
        public void ShouldDisconnectNotify()
        {
            var server = new TcpMessageServer(new MessageReceiver(new MessageBinder(), Serialier), Serialier);

            bool disconnected = false;

            server.DisconnectClientSignal.Listen(l => disconnected = true);

            server.Start(new IPEndPoint(IPAddress.Loopback, 13892));

            var controllClient = new TcpClient();

            controllClient.Connect("localhost", 13892);
            controllClient.Close();

            Thread.Sleep(100);

            server.Stop();

            Assert.True(disconnected);
        }