Exemplo n.º 1
0
        private void doServer(string IP, int gameNum)
        {
            AllocConsole();
            IPAddress   localaddr    = IPAddress.Parse(IP);
            Int32       port         = 8888;
            TcpListener serverSocket = new TcpListener(localaddr, port);
            TcpClient   clientSocket = default(TcpClient);
            int         counter      = 0;

            serverSocket.Start();
            Console.WriteLine("Server Started...at: " + IP);
            counter = 0;
            while ((true))
            {
                counter += 1;

                clientSocket = serverSocket.AcceptTcpClient();
                byte[] bytesFrom      = new byte[10025];
                String dataFromClient = null;

                NetworkStream networkStream = clientSocket.GetStream();
                networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize);
                dataFromClient = Encoding.ASCII.GetString(bytesFrom);
                dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"));

                clientsList.Add(dataFromClient, clientSocket);

                string msg = dataFromClient + " Joined , Wait For " + (gameNum - counter) + " Player(s) to Join.";
                broadcast(msg, dataFromClient, false);
                string[] ready = dataFromClient.Split(',');
                playerReadyDic.Add(ready[0], false);
                Console.WriteLine(msg);
                if (gameNum == counter)
                {
                    string[] pArray = playerReadyDic.Keys.ToArray();
                    this.g = new Game(pArray);
                    Console.WriteLine("Game Instance Created.");
                }
                handleClient client = new handleClient();
                client.startClient(clientSocket, dataFromClient, clientsList, playerReadyDic, this);
            }
        }
Exemplo n.º 2
0
        private void doServer(string IP, int gameNum)
        {
            AllocConsole();
            IPAddress localaddr = IPAddress.Parse(IP);
            Int32 port = 8888;
            TcpListener serverSocket = new TcpListener(localaddr, port);
            TcpClient clientSocket = default(TcpClient);
            int counter = 0;
            serverSocket.Start();
            Console.WriteLine("Server Started...at: " + IP);
            counter = 0;
            while ((true))
            {
                counter += 1;

                clientSocket = serverSocket.AcceptTcpClient();
                byte[] bytesFrom = new byte[10025];
                String dataFromClient = null;

                NetworkStream networkStream = clientSocket.GetStream();
                networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize);
                dataFromClient = Encoding.ASCII.GetString(bytesFrom);
                dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"));

                clientsList.Add(dataFromClient, clientSocket);

                string msg = dataFromClient + " Joined , Wait For "+ (gameNum - counter) + " Player(s) to Join.";
                broadcast(msg, dataFromClient, false);
                string[] ready = dataFromClient.Split(',');
                playerReadyDic.Add(ready[0], false);
                Console.WriteLine(msg);
                if (gameNum == counter)
                {
                    string[] pArray = playerReadyDic.Keys.ToArray();
                    this.g = new Game(pArray);
                    Console.WriteLine("Game Instance Created.");
                }
                handleClient client = new handleClient();
                client.startClient(clientSocket, dataFromClient, clientsList, playerReadyDic, this);
            }
        }