Bonjour,
toujours dans le cadre mon applicatif winforms d'impression d'étiquettes, je souhaite lancer les impression de manière interactive à travers un ordre envoyé par le sur le réseau.
J'ai donc mis en place ce qu'il faut pour gérer une écoute du "serveur" sur un port précis.
Le démarrage du serveur est ok, la connexion du client fonctionne.
A la réception de l'info, le serveur l'affiche dans la console mais déconnecte le client lors de la tentative d'écriture dans le textbox.
Le serveur est lancé dans un thread séparé via la méthode "listen".
Que faut'il faire pour récupérer l'information dans le textbox?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public void listen() { int Port = 1313; IPAddress[] Tableau_IP = (Dns.GetHostByName(Dns.GetHostName())).AddressList; TcpListener TCP_Serveur = new TcpListener(Tableau_IP[0], Port); TcpClient TCP_Client; NetworkStream NS; int Numero_Client = 0; TCP_Serveur.Start(); Console.WriteLine("Serveur démarré sur {0}:{1}", Tableau_IP[0], Port); while (true) { TCP_Client = TCP_Serveur.AcceptTcpClient(); NS = TCP_Client.GetStream(); //Création d'un objet client temporaire Client Client_Temp = new Client(Numero_Client, NS); Client_Temp.Msg_Recu += new Eurocash.Client.Event_Message_Recu(Transmettre_Message); //Puis on rajoute l'objet client dans le tableau Clients.Add(Numero_Client, Client_Temp); //Lancement d'un thread client Thread T = new Thread(new ThreadStart(Client_Temp.Ecouter)); T.Start(); Numero_Client++;//Pour le prochain client qui se connecte } Console.WriteLine("serveur stoppé"); } public void Transmettre_Message(int Num_Client, string lemessage) { Console.WriteLine(lemessage); t_PrintInteractiveEtiq5r.Text = lemessage; }
Merci pour toutes vos suggestions
lionel
Partager