public void Run() { NetworkComms.AppendGlobalIncomingPacketHandler <string>("Message", PrintIncomingMessage); NetworkComms.AppendGlobalIncomingPacketHandler <Protocol>("Protocol", HandleIncomingProtocol); NetworkComms.AppendGlobalIncomingPacketHandler <HandShake>("HandShake", HandleIncomingHandShake); NetworkComms.AppendGlobalConnectionCloseHandler(HandleConnectionClosed); this.Serializer = DPSManager.GetDataSerializer <ProtobufSerializer>(); NetworkComms.DefaultSendReceiveOptions = new SendReceiveOptions(Serializer, NetworkComms.DefaultSendReceiveOptions.DataProcessors, NetworkComms.DefaultSendReceiveOptions.Options); Connection.StartListening(ConnectionType.TCP, new IPEndPoint(IPAddress.Any, 0)); Console.WriteLine("Server listening for TCP connection on:"); foreach (IPEndPoint l in Connection.ExistingLocalListenEndPoints(ConnectionType.TCP)) { Console.WriteLine("{0}:{1}", l.Address, l.Port); } lastServerIPEndPoint = (IPEndPoint)Connection.ExistingLocalListenEndPoints(ConnectionType.TCP).Last(); while (true) { if (Clients.Count() == 2) { game = new SPoker(Clients.Last(), Clients.First()); game.Start(); } Thread.Sleep(200); } //NetworkComms.Shutdown(); }