informations sur les sockets
Bonjour à tous,
j'ai un projet à réaliser en java sur lequel un client en java (moi) se connect sur un serveur réalisé en langage C (distant) à l'aide des sockets qui ce dernier me renvoit des données.
Ma question est la suivante :
Y aurait-il la possibilité de recevoir une structure (plutôt de la lire exemple : e=in.readLine();) ) d'un serveur C par socket sur un client java ?
Ou doit-on instaurer un protocole dans lequel les trames seront sur une ligne.
Merci
informations sur les sockets
Merci pour la réponse leyee !
J'ai essayé de passer par les DataInputStream enfin je vais tout tester pour savoir par quelle méthode je vais arriver à lire ce que m'envoi le C++ sans que les 2 programmes bloquent.Mais il me renvoi une erreur :
Citation:
"client.java" : Erreur No. 300 : constructeur BufferedInputStream(java.io.InputStreamReader) introuvable dans classe java.io.BufferedInputStream en ligne 29, colonne 52
sur cette ligne de code :
Code:
DataInputStream din = new DataInputStream(new BufferedInputStream(new InputStreamReader(socket.getInputStream())));
Voici mes imports :
Code:
1 2 3
| import java.io.*;
import java.net.*;import java.util.*;
import java.io.DataInputStream; |
et un bout de mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| // Création des flots d'entrée/sortie
PrintWriter out=new PrintWriter(socket.getOutputStream(),true);
BufferedReader in=new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
//Reader reader = new InputStreamReader(socket.getInputStream());
//BufferedReader datainput = new BufferedReader(reader);
BufferedReader datainput =new BufferedReader(new InputStreamReader(socket.getInputStream()));
DataInputStream din = new DataInputStream(new BufferedInputStream(new InputStreamReader(socket.getInputStream())));
byte[] data = {0} ;
DataInputStream dis = new DataInputStream(new ByteArrayInputStream(data));
int rus = din.readUnsignedShort();
int rub = din.readUnsignedByte();
char c = din.readChar();
byte b =din.readByte();
String utf=din.readUTF();
String donn= dis.readUTF(); |
Y aurait-il quelqu'un pour me dire se qu'il ne va pas ! ca fait 3 h que je cherche ... : :arf: