Compare commits

..

No commits in common. 'dbce60600a92ba3c02b0be7e4fa548b1e4a2a2df' and '52119e94e329d037525994729ed18ea9101ecc0b' have entirely different histories.

@ -57,14 +57,15 @@ namespace Server
public void ReceiveMessages(UdpClient clientSocket1, UdpClient clientSocket2, IPEndPoint endpoint2, Semaphore semaphore)
public void ReceiveMessages(UdpClient clientSocket1, UdpClient clientSocket2, IPEndPoint endpoint2, SemaphoreSlim semaphore)
{
IPEndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
while (true)
{
byte[] receivedData = clientSocket1.Receive(ref remoteEndPoint);
semaphore.WaitOne();
semaphore.Wait();
clientSocket2.Send(receivedData, receivedData.Length, endpoint2);
@ -96,18 +97,21 @@ namespace Server
playerJoin.Value.Send(receivedDataHost, receivedDataHost.Length, remoteEndPointHost);
playerHost.Value.Send(receivedDataJoin, receivedDataJoin.Length, remoteEndPointJoin);
Semaphore semaphore = new Semaphore(2,2);
SemaphoreSlim semaphore = new SemaphoreSlim(0);
Thread receiveThread1 = new Thread(() => ReceiveMessages(playerHost.Value, playerJoin.Value, remoteEndPointJoin, semaphore));
Thread receiveThread2 = new Thread(() => {
// Attente pour que le joueur 1 ait envoyé ses données avant de démarrer la réception des données du joueur 2
semaphore.Wait();
ReceiveMessages(playerJoin.Value, playerHost.Value, remoteEndPointHost, semaphore);
});
receiveThread1.Start();
receiveThread2.Start();
semaphore.Release();
receiveThread1.Join();
receiveThread2.Join();

Loading…
Cancel
Save