1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| public void liste_clients()
{
// valorise connexionStatus à TRUE si l'hôte est connecté
// sinon on cré un nouveau client, avec un connexionStatus = TRUE dès le départ
while (true)
{
// ici je veux recevoir le nom du pc, et l'adresse ip des clients qui m'envoient ces mêmes données
IPAddress ip_client = null;
string nom_pc_client = null;
webcam_client un_hote = null;
// le client existe t-il déjà ?
int nb_client = les_hotes.Count;
int i = 0;
bool trouve = false;
while ((i < nb_client) || (!trouve))
{
un_hote = ((webcam_client)les_hotes[i]);
if ((un_hote.computerName == nom_pc_client) && (un_hote.ip == ip_client))
{
trouve = true;
}
else
{
i++;
}
}
// s'il existe, alors on signale qu'il est connecté, sinon on l'ajoute à la collection
if (trouve)
{
un_hote.connexionStatus = true;
}
else
{
un_hote = new webcam_client { computerName = nom_pc_client, ip = ip_client, connexionStatus = true };
les_hotes.Add(un_hote);
}
// on relance la fonction toutes les 10 secondes
Thread.Sleep(10);
}
} |
Partager