From 3da35e99cfc4b1735c8bdbb4e22c6df2be1f4d6f Mon Sep 17 00:00:00 2001 From: Bruno Da Costa Cunha Date: Tue, 14 Mar 2023 10:57:29 +0100 Subject: [PATCH] =?UTF-8?q?::bug::=20Serveur=20arrive=20=C3=A0=20recevoir?= =?UTF-8?q?=20les=20donn=C3=A9es=20du=20client.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/server/ClientConsole/Program.cs | 6 ++++-- code/server/Server/Program.cs | 12 ++++-------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/code/server/ClientConsole/Program.cs b/code/server/ClientConsole/Program.cs index 5e6affe..dc744ca 100644 --- a/code/server/ClientConsole/Program.cs +++ b/code/server/ClientConsole/Program.cs @@ -24,13 +24,15 @@ class Program // Receive connection message from server IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); byte[] receivedData = client.Receive(ref remoteEndPoint); - string receivedMessage = Encoding.ASCII.GetString(receivedData); - Console.WriteLine("Received message: " + receivedMessage); + string receivedPort = Encoding.ASCII.GetString(receivedData); + Console.WriteLine("Received port: " + receivedPort); // Send data to server string message = ""; while (message != "exit") { + serverEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), int.Parse(receivedPort)); + Console.Write("Enter message to send (or 'exit' to quit): "); message = Console.ReadLine(); byte[] data = Encoding.ASCII.GetBytes(message); diff --git a/code/server/Server/Program.cs b/code/server/Server/Program.cs index 4bf003b..ccd8ca2 100644 --- a/code/server/Server/Program.cs +++ b/code/server/Server/Program.cs @@ -38,31 +38,27 @@ class Program clients[remoteEndPoint] = clientSocket; // Send connection message to client - string connectionMessage = "Connection established on port " + clientEndPoint.Port.ToString(); + string connectionMessage = clientEndPoint.Port.ToString(); byte[] connectionData = Encoding.ASCII.GetBytes(connectionMessage); serverSocket.Send(connectionData, connectionData.Length, remoteEndPoint); // Start thread to receive data from client - Thread receiveThread = new Thread(ReceiveMessages); - receiveThread.Start(clientSocket); + Thread receiveThread = new Thread(()=>ReceiveMessages(clientSocket)); + receiveThread.Start(); } } } - static void ReceiveMessages(object obj) + static void ReceiveMessages(UdpClient clientSocket) { - UdpClient clientSocket = (UdpClient)obj; IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0); while (true) { byte[] receivedData = clientSocket.Receive(ref remoteEndPoint); - Console.WriteLine("PORRA"); string receivedMessage = Encoding.ASCII.GetString(receivedData); - Console.WriteLine("PORRA2"); Console.WriteLine("Received from " + remoteEndPoint.ToString() + ": " + receivedMessage); - Console.WriteLine("PORRA3"); } }