Envoyer un message du serveur vers un client

Signaler
Messages postés
14
Date d'inscription
mardi 29 avril 2008
Statut
Membre
Dernière intervention
26 décembre 2009
-
Messages postés
2
Date d'inscription
jeudi 5 mai 2011
Statut
Membre
Dernière intervention
7 mai 2011
-
Salut
j'ai un serveur et des clients qui connectent en utilisant le protocole TCP.
Voici au dessous du partie du code concernant la connexion du serveur.
mon probleme que je peux envoyer des messages des clients vers le serveur mais le serveur peut envoyer qu'à au 1er client connecté.
donc je veux envoyer des messages du serveur vers un client en utilisant son adresse IP comme paramètre.
//
public static void connecter(int port)
{
TcpListener ecoute = null;
try
{
ecoute = new TcpListener(IPAddress.Any, port);
ecoute.Start();
TcpClient tcpclient = null;
while (true)
{tcpclient = ecoute.AcceptTcpClient();
ThreadPool.QueueUserWorkItem(lire, new Clientt() {CanalTcp = tcpclient});
ThreadPool.QueueUserWorkItem(ecrire, new Clientt() {CanalTcp = tcpclient});
}.. //j'ai utilisé StreamReader et StreamWriter dans les methodes lire et ecrire

2 réponses

Messages postés
118
Date d'inscription
lundi 16 février 2009
Statut
Membre
Dernière intervention
6 décembre 2010
1
A chaque fois que tu recois un nouveau "client", ajoute le a une liste. a chaque fois qu'un client stop, retire le de la liste.
Puis pour envoyer le message a un client specifique tu peux imaginer une fonction telle que:

List<Socket> mesClients = new List<Socket>();
[..]
//code ou tu ajoutes tes clients a ta liste a chaque connexion

protected Socket SendMessageToClient(string ip)
{
 //on retourne le client de la liste dont l'adresse est egale à l'ip passé en parametre
  return mesClients .SingleOrDefault(p => ((IPEndPoint)p.RemoteEndPoint).Address.ToString() == ip);
}

Socket c = this.SendMessageToClient("192.168.0.2");
c.Send()

hum je ne garantie absolument pas la validité de ce code ni même s'il compile, mais c'est plus pour l'exemple que pour la réalisation.
Messages postés
2
Date d'inscription
jeudi 5 mai 2011
Statut
Membre
Dernière intervention
7 mai 2011

SVP ,comment envoyer un message client et aussi serveur par socket en VB