Hello !
Pour un projet perso j'essaie de créer un petit chat en SDL_Net (sockets "simplifiées", attention les puristes
) et du threading
J'ai un server que je lance sur ma machine, et un programme client (je peux en lancer autant de fois, le serveur reconnaîtra à chaque fois une nouvelle entitée)
Ce que je veux, c'est que Lorsqu'un client envoie un message au serveur, lorsque le serveur rcv ce message, il le renvoie directement aux clients et qu'ils l'affichent à leur tour (grâce à une fonction que rcv en boucle dans le client en thread)
Mon souci est que le serevur renvoie bien le message, mais c'est seulement le client qui a envoyé le message qui le reçoit à nouveau, et je ne comprends pas pourquoi.. Les packets en sont pas dirigés à une seule cible si ? La fonction send envoie à tous les clients connectés au port (1234 ici) ainsi qu'à l'adresse (localhost) ?
Mon code est assez simple (si en plus vous n'avez jamais traité SDL_net, c'est aussi simple)
server
http://pastebin.com/LzAtZQ7d
client
http://pastebin.com/3GN9VaT3
compilation : gcc -Wall -pedantic -o server ou name server.c ou name.c -lSDL_net -pthread