Salut a tous ami programmateur, je requiert aujourd'hui votre aide pour un problème dans mon code, je m'explique:
j'ai réussi a connecter mon client a mon serveur (client: TcpClient et serveur: socket) et l'envois d'un message du client au serveur s’effectue a merveille, cependant l'inverse ne marche pas (serveur vers client) je vous communique mes code pour l'envoi/réception des donnée)
client:
networkStream est défini ainsi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public void SendLogin(NetworkStream ns, string command, string username, string password) { StreamWriter sw = new StreamWriter(ns); sw.WriteLine(command + " " + username + " " + password); sw.Flush(); sw.Close(); } public String ReceiveString(NetworkStream ns) { string value = ""; StreamReader sr = new StreamReader(ns, Encoding.ASCII); value = sr.ReadLine(); return value; }
et l'appel des deux méthode:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public NetworkStream networkStream; networkStream = server.GetStream();
serveur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 PacketsOut.SendLogin(networkStream,"Login", "user", "pass"); PacketsOut.ReceiveString(networkStream);
voila en espérant que vous m'aidiez a trouver mon problème
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 public void ReceiveData(Socket socket, String command) throws IOException { System.out.println("reception"); String[] dataIn; BufferedReader br = new BufferedReader(new InputStreamReader( socket.getInputStream())); String input = br.readLine(); System.out.println("receive: " + input); } public void SendData(Socket socket, Object data) throws IOException { BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( socket.getOutputStream())); bw.write((String) data); System.out.println("send: " + data); }
PS: avec ce code le networkStream devient null entre l'envoi et la réception des données
Partager