[Socket] Communication Java <--> C++
Bonjour,
Je souhaite faire communiquer deux programmes avec des sockets, l'un en Java, l'autre en C++.
Mon programme Java fait office de serveur et celui en C++ de client.
Côté Java je n'ai pas de soucis (j'ai déjà testé de faire ma communication avec deux programmes Java et ça marche nickel)
Par contre je n'obtiens pas du tout ce que je veux avec un client c++ (je dois forcément foirer un truc un moment), sur ma console, j'ai un caractère bizarre qui s'affiche (la fraction 1/4 suivi d'un Y majuscule avec un accent) et ce, peu importe ce que j'envoie (un int, un string, ...)
Ci-dessous mon code C++, je peux vous donner le code Java si vous le souhaitez
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
#include <iostream>
#include <winsock2.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")
using namespace std;
int main()
{
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKET sock;
SOCKADDR_IN sin;
char buffer[32];
sin.sin_addr.s_addr = inet_addr("127.0.0.1");
sin.sin_family = AF_INET;
sin.sin_port = htons(13370);
sock = socket(AF_INET,SOCK_STREAM,0);
if(connect(sock, (SOCKADDR*)&sin, sizeof(sin)) != SOCKET_ERROR)
{
cout<<"connexion"<<endl;
if(recv(sock, buffer, 32, 0) != SOCKET_ERROR)
{
cout<<"reception : "<<buffer<<endl;
printf("%s", buffer);
}
else
cout<<"fail reception";
}
else
cout << "fail connexion";
closesocket(sock);
WSACleanup();
return 0;
} |
Merci d'avance
pikmin