Bonjour, voila je me suis mis au reseau hier et j'ai fait ces codes. En locale avec l'ip 127.0.0.1 sa marche parfait, en reseau via internet avec mon autre ordi sa marche aussi et quand je le passe a quelque exterieur a chez moi sa ne marche pas.
Pourtant mes 2 ordi ne sont pas relié par reseau, je ne possede pas de routeur. La seul chose est qu'un ordi est relié a la ma box par eternet et l'autre par wifi, mais je ne pensse pas que sa suffisse pour creer un reseau.
Serveur :Client :
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 using System.Net.Sockets; using System; using System.IO; using System.Threading; public class ServeurConsole { public static void Main () { int Port = 5555; TcpListener Ecoute = new TcpListener(Port); try { Ecoute.Start(); Console.WriteLine("En attente d'un client..."); while (true) { TcpClient Client = Ecoute.AcceptTcpClient(); Console.WriteLine("Vous étes connecté"); new Thread(new ThreadStart(new Gestion(Client).Run)).Start(); } } catch { Console.WriteLine("Impossible de se connecté !"); } Ecoute.Stop(); } } public class Gestion { private TcpClient Client; public Gestion(TcpClient Client) { this.Client = Client; } public void Run() { try { StreamWriter OUT = new StreamWriter(Client.GetStream()); OUT.AutoFlush = true; string Demande = null; //Pour lire les messages recu Thread Lire = new Thread(new ThreadStart(Reception)); Lire.Start(); while(true) { Demande = Console.ReadLine(); OUT.WriteLine(Demande); } } catch { } } public void Reception() { StreamReader IN = new StreamReader(this.Client.GetStream()); string Reponsse = null; try { while ((Reponsse = IN.ReadLine()) != null) { Console.WriteLine("-> "+ Reponsse); Thread.Sleep(100); } } catch { Console.WriteLine("Le client vient de se deconnecter"); } } }Bon je sait que c'est pas terrible comme code mais je veut juste faire un test avec 1 personne et 1 serveur sous console pour le moment et faire beaucoup mieux apres. Probleme c'est que meme quand je veut faire simple sa marche pas, et je voit vraiment pas le probleme.
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 using System; using System.Net.Sockets; using System.IO; using System.Threading; public class ClientConsole { private TcpClient Client; public ClientConsole(TcpClient Client) { this.Client = Client; } public static void Main() { //string Serveur = "192.168.1.2"; //192.168.0.244 string Serveur = "xpsp2-4a5be8c98"; int Port = 5555; string Demande = null; // demande du client try { Console.WriteLine("Tentative de connection au serveur..."); TcpClient Client = new TcpClient(Serveur, Port); StreamWriter OUT = new StreamWriter(Client.GetStream()); OUT.AutoFlush = true; Console.WriteLine("Vous étes connecté"); //Pour lire les messages recu Thread Lire = new Thread(new ThreadStart(new ClientConsole(Client).Reception)); Lire.Start(); //Pour ecrire while (true) { Demande = Console.ReadLine(); OUT.WriteLine(Demande); } } catch { Console.WriteLine("Impossible de se connecter au serveur"); Console.Read(); } } public void Reception() { StreamReader IN = new StreamReader(this.Client.GetStream()); string Reponsse = null; try { while ((Reponsse = IN.ReadLine()) != null) { Console.WriteLine("-> "+ Reponsse); Thread.Sleep(100); } } catch { Console.WriteLine("Le serveur vient de se deconnecter"); } } }
Je compte sur vous pour m'aider, merci d'avance
Partager