Skip to content
Snippets Groups Projects
Commit fdbcdde7 authored by Benjamin Colombo's avatar Benjamin Colombo
Browse files

correctifs mineurs SUB/UNSUB (dupplication dans les listes des abonnés, affichage,etc...)

parent 1df3bdec
No related merge requests found
......@@ -11,6 +11,7 @@ namespace ServeurUdp
{
class ServeurUdp
{
// Création de la socket d'écoute UDP
private static Socket serverSocket = new Socket(
AddressFamily.InterNetwork,
......@@ -31,6 +32,9 @@ namespace ServeurUdp
// ************************************************************** Initialisation
// Liaison de la socket au point de communication
serverSocket.Bind(new IPEndPoint(IPAddress.Any, 11111));
bool run = true; //condition de lancement/arret du serveur
......@@ -89,7 +93,8 @@ namespace ServeurUdp
serverSocket.SendTo(bufferRepSub, 0, bufferRepSub.Length, SocketFlags.None, clientSub);
}
//affichage de log dans la console
Console.WriteLine("log : le message POST a été retransmis aux abonnés");
if(listeSub.Count > 0)
Console.WriteLine("log : le message POST a été retransmis aux abonnés");
break;
//GET
......@@ -120,7 +125,8 @@ namespace ServeurUdp
//SUBSCRIBE
case Commande.SUBSCRIBE:
//enregistrement de l'abonné
listeSub.Add(clientEP);
if(!listeSub.Contains(clientEP))//on evite les doublons
listeSub.Add(clientEP);
//affichage de log dans la console
Console.WriteLine("log : Un utilisateur s'est abonné au flux: " + clientEP.ToString());
......@@ -128,11 +134,17 @@ namespace ServeurUdp
//UNSUBSCRIBE
case Commande.UNSUBSCRIBE:
//desenregistrement de l'abonné
listeSub.Add(clientEP);
//affichage de log dans la console
Console.WriteLine("log : l'utilisateur " + clientEP.ToString() + " s'est abonné au flux.");
if (listeSub.Contains(clientEP))
{
//desenregistrement de l'abonné
listeSub.Remove(clientEP);
//affichage de log dans la console
Console.WriteLine("log : l'utilisateur " + clientEP.ToString() + " s'est désabonné au flux.");
}
//envoi de la réponse
byte[] bufferRepUnsub = new byte[BUFFER_SIZE];
bufferRepUnsub = ChatMessage.GetBytes(Commande.UNSUBSCRIBE, CommandeType.REPONSE, "", "");
serverSocket.SendTo(bufferRepUnsub, 0, bufferRepUnsub.Length, SocketFlags.None, clientEP);
break;
}
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment