Beispiel #1
0
        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();
        }