Bonjour !
j'ai un souci avec l'architecture client/serveur, le problème se pose au niveau du serveur, j'ai mis le code que vous allez voir par la suite dans un projet console application ben ca marchait très bien mais quand je voulais l'utiliser dans les winform ben ca bloque !!!
voici le code serveur :
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
|
namespace PCServeur
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
/********** parametres de connexion ***********/
IPHostEntry iphe = Dns.Resolve("localhost");
IPEndPoint ipep = new IPEndPoint(iphe.AddressList[0], 1069);
TcpListener s = new TcpListener(ipep);
s.Start();
TcpClient c = s.AcceptTcpClient(); // accepter un client
label2.Text = "un pc connecté !";
Stream str = c.GetStream();
byte[] b = new byte[100];
if (str.Read(b, 0, 50) != -1) //verifier s'il ya quelque chose dans le flux de donnees
{
TextBox1.Text = Encoding.ASCII.GetString(b);
}
str.Close();
c.Close();
}
}
} |
il se bloque lors de l'exécution au niveau de
TcpClient c = s.AcceptTcpClient();
j'ai essayé ce code dans un projet console application ca marche très bien, mais je crois que ce n'est pas la même chose car en mode console application l'exécution se fait ligne par ligne donc quand il arrive a l'instruction
TcpClient c = s.AcceptTcpClient();
le serveur se met en attente, par contre dans le winform quand il arrive a cette exécution l'ordinateur se bloque !
comment pour résoudre ce problème ?
Partager