Bonjour à tous,
voila j'essaye de faire communiquer mon PC avec ma carte raspberry via les sockets et je coince un peu, à vrai dire je n'arrive pas a connecter mon pc avec la raspberry.
Le programme sur mon PC (windows) est fait via Qt, qui a une méthode toute faite pour me connecter :
connectToHost(host, port);
j'ai donc placé
Socket -> connectToHost(10.0.0.1, 15020);
et le tour est joué.
mais sur ma carte raspberry je dois tout configurer. Je dois donc définir sur ma raspberry un port sur laquel mon programme sera exécuté. J'ai donc fait :
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
|
int server, client;
struct sockaddr_in server_addr;
socklen_t size:
client = socket(AF_INET, SOCK_DGRAM, 0); // la connexion se fait en UDP
if(client < 0){
printf("error socket created");
exit(1);
}
printf("socket succed");
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(15020);
server_addr.sin_addr.s_addr = htons(INADDR_ANY);
if(blind(fd, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0){
printf("error bind");
exit(1);
}
printf("bind OK");
size = sizeof(server_addr)
listen(fd, 1);
server = accept(fd, (struct sockaddr*)&server_addr, &size);
if(server < 0){
printf("error accept");
while(server < 0){
server = accept(fd, (struct sockaddr*)&server_addr, &size);// j'attend que le client se connecte à mon port
}
}
while(server > 0){
printf("connected with client");
while(1);
} |
le probleme est que je n'arrive pas à me connecter à mon client, avez vous une idée du probleme ?
merci d'avance
Partager