Salut,
j'ai un probleme, j'utilise des socket pour communiquer, la premiere communication se passe bien (login et password), ensuite la deuxieme communication coince, la socket lis bien les bytes, mais veut continuer a lire alors qu'il y a plus rien (et j'ai fais ca dans un try catch (EOFException))
client :
Code :
- // phase de login
- cliSock = new Socket(host,8256);
- System.err.println(cliSock.getInetAddress().toString());
- dos = new DataOutputStream(cliSock.getOutputStream());
- dis = new DataInputStream(cliSock.getInputStream());
- dos.writeUTF(login);
- dos.flush();
- String reponse = dis.readUTF();
- // deuxieme phase (envoie de texte) c'est a partir d'ici que ca foire
- dos.write(texte); //texte est un tableau de byte
- dos.flush();
|
le server :
Code :
- SocketEcoute = new ServerSocket(PortEcouteUrg);
- SocketService = SocketEcoute.accept();
-
- dis = new DataInputStream(new BufferedInputStream(SocketService.getInputStream()));
- dos = new DataOutputStream(new BufferedOutputStream(SocketService.getOutputStream()));
-
- String login = dis.readUTF();
- dos.writeUTF(reponse);
- dos.flush();
- // jusqu'ici tout est ok
- // ici ca foire, ca lis les bytes envoyes puis quand yen a plus, ca ne passe pas dans l'exception, comme si il y avait des bytes "fantomes"...
- try
- {
- while (true)
- {
- byte b;
- b = dis.readByte();
- }
- }
- catch (EOFException e)
- {
- ...
- }
|
si quelqu'un peut m'aider, ca me serait bien utile, merci