From 89f8b31cc00529d97f33cd137e47cd8132e46d5f Mon Sep 17 00:00:00 2001 From: rakhedair Date: Sun, 19 Mar 2023 16:25:53 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A8=20changer=20pas=20mal=20de=20chose?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/server/DataBase/Entity/Player.cs | 1 + code/server/Server/PongServer.cs | 21 ++++------------ code/server/Server/Room.cs | 36 ++++++++++++++++++++++++--- code/server/Shared/DTO/Action.cs | 3 ++- 4 files changed, 41 insertions(+), 20 deletions(-) diff --git a/code/server/DataBase/Entity/Player.cs b/code/server/DataBase/Entity/Player.cs index 3e150d2..41c5718 100644 --- a/code/server/DataBase/Entity/Player.cs +++ b/code/server/DataBase/Entity/Player.cs @@ -8,6 +8,7 @@ namespace DataBase.Entity public string playerId { get; set; } public string name { get; set; } public int nbBallTouchTotal { get; set; } + public bool ready { get; set; } = false; public int timePlayed { get; set; } } } diff --git a/code/server/Server/PongServer.cs b/code/server/Server/PongServer.cs index 740d9ec..ada1836 100644 --- a/code/server/Server/PongServer.cs +++ b/code/server/Server/PongServer.cs @@ -40,7 +40,7 @@ public class PongServer if (data.Informations.Action == Shared.DTO.Action.Create) { - Room room = new Room(data.Data.playerID); + Room room = new Room(data.Data.playerId); room.playerHost = data.Data; room.nbPlayer++; Console.WriteLine("New connection from " + remoteEndPoint.ToString()); @@ -52,13 +52,12 @@ public class PongServer UdpClient clientSocket = new UdpClient(clientEndPoint); clients[remoteEndPoint] = clientSocket; - // Send connection message to client - string connectionMessage = room.ID; - byte[] connectionData = Encoding.ASCII.GetBytes(connectionMessage); + // Send connection message to client + byte[] connectionData = Encoding.ASCII.GetBytes(room.Id); serverSocket.Send(connectionData, connectionData.Length, remoteEndPoint); // Start thread to receive data from client - Thread receiveThread = new Thread(() => ReceiveMessages(clientSocket)); + Thread receiveThread = new Thread(() => Room.ReceiveMessages(clientSocket, data.Data)); receiveThread.Start(); } @@ -91,15 +90,5 @@ public class PongServer } } - static void ReceiveMessages(UdpClient clientSocket) - { - IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); - - while (true) - { - byte[] receivedData = clientSocket.Receive(ref remoteEndPoint); - string receivedMessage = Encoding.ASCII.GetString(receivedData); - Console.WriteLine("Received from " + remoteEndPoint.ToString() + ": " + receivedMessage); - } - } + } \ No newline at end of file diff --git a/code/server/Server/Room.cs b/code/server/Server/Room.cs index 20f6832..2efa360 100644 --- a/code/server/Server/Room.cs +++ b/code/server/Server/Room.cs @@ -2,25 +2,55 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Net.Sockets; +using System.Net; using System.Text; using System.Threading.Tasks; +using Shared.DTO; namespace Server { public class Room { - public Room(int id) + public Room(string id) { - ID = id; + Id = id; } - public int ID { get; set; } + public string Id { get; set; } public Player playerHost; public Player playerJoin; public int nbPlayer = 0; public int Port { get; set; } + + + + public static void ReceiveMessages(UdpClient clientSocket,Player player) + { + IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); + + while (true) + { + byte[] receivedData = clientSocket.Receive(ref remoteEndPoint); + string receivedMessage = Encoding.ASCII.GetString(receivedData); + Console.WriteLine("Received from " + remoteEndPoint.ToString() + ": " + receivedMessage); + if (receivedMessage.ToUpper().Equals("READY")) + { + player.ready = true; + } + while (true) //score + { + //cordinate paddel + receivedData = clientSocket.Receive(ref remoteEndPoint); + receivedMessage = Encoding.ASCII.GetString(receivedData); + + } + + } + } + } } diff --git a/code/server/Shared/DTO/Action.cs b/code/server/Shared/DTO/Action.cs index 6e208e9..29c21ab 100644 --- a/code/server/Shared/DTO/Action.cs +++ b/code/server/Shared/DTO/Action.cs @@ -8,8 +8,9 @@ namespace Shared.DTO { public enum Action { - Start, + Create, Connect, + Join, End } }