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; }
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); }
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(); }
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(); }
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); }