🔨 encore des modifs du serveur en mettant à jour le client aussi

ServerDeployement
Bruno DA COSTA CUNHA 2 years ago
parent 2f4a18c494
commit 4b8a66cd01

@ -84,7 +84,7 @@ public class PongServer
UdpClient clientSocket = new UdpClient(clientEndPoint); UdpClient clientSocket = new UdpClient(clientEndPoint);
room.playerHost = new KeyValuePair<Player,UdpClient>(data.Data,clientSocket); room.playerHost = new KeyValuePair<Player,UdpClient>(data.Data,clientSocket);
room.nbPlayer++; room.NbPlayer++;
@ -94,9 +94,9 @@ public class PongServer
room.Port = nextPort; room.Port = nextPort;
nextPort++; nextPort++;
// Send connection message to client
// Send port message to client
byte[] connectionData = Encoding.ASCII.GetBytes(nextPort.ToString()); byte[] connectionData = Encoding.ASCII.GetBytes(nextPort.ToString());
serverSocket.Send(connectionData, connectionData.Length, remoteEndPoint); serverSocket.Send(connectionData, connectionData.Length, remoteEndPoint);
@ -114,14 +114,17 @@ public class PongServer
UdpClient clientSocket = new UdpClient(clientEndPoint); UdpClient clientSocket = new UdpClient(clientEndPoint);
room.playerJoin = new KeyValuePair<Player, UdpClient>(data.Data, clientSocket); room.playerJoin = new KeyValuePair<Player, UdpClient>(data.Data, clientSocket);
room.nbPlayer++; room.NbPlayer++;
room.PropertyChanged += room.OnReadyChanged;
Console.WriteLine("New connection Client from " + remoteEndPoint.ToString()); Console.WriteLine("New connection Client from " + remoteEndPoint.ToString());
room.Port = nextPort; // Send port message to client
nextPort++; byte[] connectionData = Encoding.ASCII.GetBytes(nextPort.ToString());
serverSocket.Send(connectionData, connectionData.Length, remoteEndPoint);
room.PropertyChanged += room.OnReadyChanged;
} }

@ -31,20 +31,22 @@ namespace Server
public int Port { get; set; } public int Port { get; set; }
public int nbPlayer = 0; public int NbPlayer
public bool maxPlayer
{ {
get { return nbPlayer >= 2; } get
{
return nbPlayer;
}
set set
{ {
if (nbPlayer >= 2) nbPlayer = value;
if (value >= 2)
{ {
maxPlayer = true; NotifyPropertyChanged("nbPlayer");
NotifyPropertyChanged("Ready");
} }
} }
} }
private int nbPlayer;
protected void NotifyPropertyChanged(string propertyName) protected void NotifyPropertyChanged(string propertyName)
@ -62,10 +64,6 @@ namespace Server
{ {
byte[] receivedData = clientSocket1.Receive(ref remoteEndPoint); byte[] receivedData = clientSocket1.Receive(ref remoteEndPoint);
string receivedMessage = Encoding.ASCII.GetString(receivedData);
Console.WriteLine("Received from " + remoteEndPoint.ToString() + ": " + receivedMessage);
clientSocket2.Send(receivedData, receivedData.Length, remoteEndPoint); clientSocket2.Send(receivedData, receivedData.Length, remoteEndPoint);
} }
@ -75,12 +73,13 @@ namespace Server
{ {
Room nbPlayer = sender as Room; Room nbPlayer = sender as Room;
bool maxPlayer = nbPlayer.maxPlayer; int maxPlayer = nbPlayer.nbPlayer;
//IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Any, Port);
//UdpClient serverSocket = new UdpClient(serverEndPoint);
IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Any, Port);
UdpClient serverSocket = new UdpClient(serverEndPoint);
if (maxPlayer) if (maxPlayer == 2)
{ {
Thread receiveThread1 = new Thread(() => ReceiveMessages(playerHost.Value, playerJoin.Value)); Thread receiveThread1 = new Thread(() => ReceiveMessages(playerHost.Value, playerJoin.Value));

Loading…
Cancel
Save