Compare commits

..

No commits in common. 'd1eb396d99fac700028df24f005d0a471ef29f19' and '6e51df2b4d82c028853a4d0d7a3260d3aa5b3d55' have entirely different histories.

@ -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,17 +114,14 @@ 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());
// Send port message to client room.Port = nextPort;
byte[] connectionData = Encoding.ASCII.GetBytes(nextPort.ToString()); nextPort++;
serverSocket.Send(connectionData, connectionData.Length, remoteEndPoint);
room.PropertyChanged += room.OnReadyChanged;
} }

@ -31,22 +31,20 @@ namespace Server
public int Port { get; set; } public int Port { get; set; }
public int NbPlayer public int nbPlayer = 0;
public bool maxPlayer
{ {
get get { return nbPlayer >= 2; }
{
return nbPlayer;
}
set set
{ {
nbPlayer = value; if (nbPlayer >= 2)
if (value >= 2)
{ {
NotifyPropertyChanged("nbPlayer"); maxPlayer = true;
NotifyPropertyChanged("Ready");
} }
} }
} }
private int nbPlayer;
protected void NotifyPropertyChanged(string propertyName) protected void NotifyPropertyChanged(string propertyName)
@ -64,6 +62,10 @@ 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);
} }
@ -73,13 +75,12 @@ namespace Server
{ {
Room nbPlayer = sender as Room; Room nbPlayer = sender as Room;
int maxPlayer = nbPlayer.nbPlayer; bool maxPlayer = nbPlayer.maxPlayer;
//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 == 2) if (maxPlayer)
{ {
Thread receiveThread1 = new Thread(() => ReceiveMessages(playerHost.Value, playerJoin.Value)); Thread receiveThread1 = new Thread(() => ReceiveMessages(playerHost.Value, playerJoin.Value));

Loading…
Cancel
Save