Пример #1
0
        private static void sendPositionAllCLients(object object1)
        {
            NetworkStream ServerNS = (NetworkStream)object1;

            while (true)
            {
                byte[] BufferLocal   = new byte[1024];
                int    BytesRebuts   = 0;
                string bytesAsString = null;
                //Rebem les dades del client i les imprimim
                do
                {
                    BytesRebuts   = ServerNS.Read(BufferLocal, 0, BufferLocal.Length);
                    bytesAsString = Encoding.UTF8.GetString(BufferLocal, 0, BytesRebuts);
                } while (ServerNS.DataAvailable);
                try
                {
                    Player playerSend = SerializatePlayer.Deserialization(bytesAsString);
                    if (dictPlayers[playerSend.id].position.PosX != playerSend.position.PosX || dictPlayers[playerSend.id].position.PosY != playerSend.position.PosY)
                    {
                        setDictionary(playerSend);

                        //Console.WriteLine(listPlayers[playerSend.id].position.PosX);
                        //Console.WriteLine(listPlayers[playerSend.id].position.PosY);

                        broadcastPlayers(playerSend, BytesRebuts, BufferLocal);
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(bytesAsString);
                }
            }
        }
Пример #2
0
        private static void queryPlayersPlaying(Player player)
        {
            foreach (Player playerSel in dictPlayers.Values)
            {
                if (!playerSel.id.Equals(dictPlayers[player.id].id))
                {
                    var    stringPlayer     = SerializatePlayer.Serializate(playerSel);
                    byte[] playerSerialized = Encoding.UTF8.GetBytes(stringPlayer);

                    dictPlayers[player.id].networkStream.Write(playerSerialized, 0, stringPlayer.Length);
                }
            }
        }
Пример #3
0
        private static void generateIDPlayer(NetworkStream ServerNS)
        {
            Player playerN = newPlayer(ServerNS);

            var playerString = SerializatePlayer.Serializate(playerN);

            byte[] playerBytes = Encoding.UTF8.GetBytes(playerString);

            Thread broadcastPlayers = new Thread(() => firstBroadcastClients(playerN, playerString.Length, playerBytes));

            broadcastPlayers.Start();
            //broadcastPlayers(playerN, playerString.Length, playerBytes);
            ServerNS.Write(playerBytes, 0, playerString.Length);
        }