Communication par socket [C++ et Java] - C++ - Programmation
Marsh Posté le 02-04-2007 à 10:45:46
ReplyMarsh Posté le 02-04-2007 à 15:13:19
Ben en fait j'ai bêtement besoin de récupérer les caractères accentués envoyés par le serveur Java et j'y arrive pas.
S'agirait il de forcer Java à utiliser de l'UTF-32 afin de construire une wstring ?
Ca me gave les caractères accentués et autres chiottes Tout le monde ne pourrait il pas communiquer uniquement à l'aide caractères ASCII ?
Marsh Posté le 02-04-2007 à 15:14:44
La méthode writeUTF des DataOutputStream Java envoit par la socket un short donnant la taille du message puis le message, mais visiblement codé en UTF-8... et je galère....
Marsh Posté le 02-04-2007 à 15:15:41
ReplyMarsh Posté le 02-04-2007 à 15:15:58
ReplyMarsh Posté le 02-04-2007 à 15:28:39
De l'autre côté j'ai du code maison à la main (donc pourrave), je reçois via la méthode recv de mes socket dans un tableau de char.
Marsh Posté le 02-04-2007 à 15:29:48
ben deja ptetre qu'il te faudrait un TCHAR ou wchar_t , activer l'unicode codé c++ etc, selon ton environnement de dev.
Marsh Posté le 02-04-2007 à 15:35:48
Certes, je subodorais naïvement pouvoir reconstituer un wchar_t à l'aide de deux char que je reçois, mais ça semble compromis.
Marsh Posté le 02-04-2007 à 15:36:58
ReplyMarsh Posté le 02-04-2007 à 15:45:57
Il faut que tu définisses _UNICODE dans les settings du projet, du côté du préprocesseur, ensuite tu peux passer par les TCHAR, qui sont des alias vers chat ou wchar_t. Bon après faut être prudent avec les tailles de chaine, etc, le mieux étant donc d'utiliser un outils comme wxwidget; ptetre que boost le fait aussi j'en sais rien, ca vaut le coup d'y jetter un oeil, les problématiques d'unicode sont pas super évidentes.
Marsh Posté le 02-04-2007 à 15:46:25
(y'a aussi pas mal de doc du côté de codeprojet, ou codeguru)
Marsh Posté le 30-03-2007 à 16:18:10
Bonjour,
J'ai fait une recherche rapide sans rien trouvé qui m'aide...
Je dispose d'un serveur écrit en Java qui utilise des DataOutputStream et DataInputStream pour envoyer/recevoir des données à l'aide de méthodes telles que writeUTF, writeInt, readUTF ou readInt....
Je dois développer un client en C++ sous windows pouvant communiquer avec ce serveur par socket TCP. J'ai assez logiquement un petit problème de format, alors existe t'il un moyen simple de recevoir les données envoyées par le serveur Java correctement formatées et d'envoyer des données compréhensibles par le serveur Java ?
Merci pour toute réponse.