-
Serveur C++, Client Java
Bonjour,
Je suis en train de faire un client en java, et un serveur avec C++. J`ai pu initialiser les connexions via des sockets , et pour ca il y a pas de probleme. Le client java, il est capable d`envoyer des informations, et le serveur C++ envoye et recoit.
Le probleme que j`ai c`est que quand le serveur C++ envoye des donnes vers le client Java, il n`arrive pas a a lire les informations en utilisant in.readLine(); ( le lecteur conventionnel). Il s`arrete la.
A mon avis, ca doit etre un probleme a niveau des decallages des bits entre C++ et Java, mais j`arrive pas a trouver une solution qui me permette avoir une conversation aller-retour (serveur et client peuvent lire et recevoir des donnees). Apparentment, ce probleme ne peut etre resolu qu`apartir la modification du code serveur C++(actuellement, send(csock,"123",3,0);, pour envoyer la chaine 1,2,3...)
Pourriez vous m`aider?
Merci d`avance,
Ignasi
-
ta méthode readline n'attend t'elle pas un carac spécial de fin de ligne ?
cote du serveur tu n'envoie pas la chaine "123" mais mais le bloc de 3 octets
constitué de '1' '2' et '3' sans \0
-
la lecture ligne par ligne c'est pour l'ASCII, pas pour les données binaires...
-
unicode ?
En c++ les char* sont codés sur un octet, il me semble qu'en java c'est de l'unicode 16 bits, donc ça marcherait peut etre mieux avec std::wstring
-
Salut!
Si c'est possible montres nous les extraits de codes concernés... Personnelement, j'ai eu un projet à faire du même modèle. Un serveur en C++ et les clients en JAVA. Et je me souvient pas avoir eu des soucis de lecture de données envoyées par le serveur...
Par ailleur, utiliser in.readline n'est pas ce qu'il y a de mieux à faire. Je pense qu'il vaut mieux utiliser un BufferReader si je me souvient bien. Mais je ne suis pas un expert en JAVA... Mais si je me souviens bien, il y a un peu de ça...
Cordialement, Buendon
-
Bonjour!!
En fait je viens de trouver la bonne reponse....C`est just que Java attends la fin de ligne avec un retour chariot....et comme C++ ne met pas de retour chariot....mon in. readline() attendais jusq`a la fin et commme il y avait pas de \n...il attendait encore.....
Merci quand meme de votre aide