J'essaie maintenant de travailler avec le serveur. J'ai ce code: Erreur dans les connexions serveur
Je commence la méthode 'HandleCC' dans le thread avec 'ParametrizedThreadStart'. J'essaye la connexion sur '127.0.0.1'. Je peux me connecter. Quand je suis connecté, le premier breakpoint est bon, le second aussi, mais le code s'arrête. (La console est toujours en cours d'exécution, mais aucun des points d'arrêt suivants ne rompt le code.) Veuillez m'expliquer, et désolé pour mon anglais.
code complet:
using System;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Linq;
using System.Collections.Generic;
using System.Collections;
using System.Threading;
namespace MTSP
{
class Comunication
{
private TcpListener listener;
private Thread thread;
public Comunication()
{
this.listener = new TcpListener(IPAddress.Any, 20345);
this.thread = new Thread(new ThreadStart(this.ListenLoop));
this.thread.Start();
}
private void ListenLoop()
{
this.listener.Start();
while (true)
{
TcpClient client = this.listener.AcceptTcpClient();
Thread tr = new Thread(new ParameterizedThreadStart(this.HandleCC));
tr.Start(client);
}
}
private void HandleCC(object client)
{
TcpClient cli = (TcpClient)client;
NetworkStream stream = cli.GetStream();
byte[] buffer = new byte[1024];
int bytesread = 0;
string mess = "";
StringBuilder compmess = new StringBuilder();
while (true)
{
bytesread = 0;
try
{
bytesread = stream.Read(buffer, 0, buffer.Length);
}
catch
{
break;
}
compmess.AppendFormat("{0}", Encoding.ASCII.GetString(buffer, 0, bytesread));
string a = compmess.ToString();
string g;
}
System.Diagnostics.Debug.WriteLine(compmess.ToString());
cli.Close();
}
}
}
Comment créez-vous 'client'? À quel serveur vous connectez-vous? La raison la plus probable 'Read()' ne renvoie pas est que le serveur n'envoie aucune donnée. Et la façon dont vous utilisez 'catch 'et' break' semble être très fausse. Aussi, pourriez-vous poster votre code en texte, pas une capture d'écran? – svick
Vous l'avez dans mon post. – user35443
Ça ne s'arrête pas, ça bloque. Envoyer quelque chose. –