problème socket et envoi paquet UPD - C - Programmation
Marsh Posté le 04-08-2016 à 16:59:19
Ça ne me parait pas bon cette ligne: INADDR_ANY vaut 0.0.0.0, ce qui ne correspond pas à l'adresse de broadcast. Tu voulais sans doute mettre inet_addr("127.0.0.1" )
Aussi toujours mettre les champs de la structure "sockaddr_in" à zéro, il y a toujours des champs réservés qui pourrait expliquer la différence de comportement entre les deux versions.
Marsh Posté le 04-08-2016 à 18:50:48
Salut, et merci
J'ai fait ça (avec un bzero), mais sans succès
j'avais mis INADDR_ANY pour l'instant en effet, avec 1270.0.1 ça ne change rien
J'ai l'impression que mon paquet contient les bonnes données, c'est l'entête qui merde on dirait
Marsh Posté le 04-08-2016 à 23:00:40
Avant de vérifier ce qui se passe niveau couche réseau, regarde d'abord si tu recois les paquets. J'avais testé avec netcat en utilisant une commande du genre "nc -l -u -p 12345" et un programme comme :
Code :
|
Et netcat m'a bien affiché "HELLO WORLD!". Si ça déjà ça ne fonctionne pas, tu as un problème ailleurs que dans ce code.
Marsh Posté le 05-08-2016 à 11:02:09
Merci !
Je me demande si ce n'est pas tout simplement wireshark qui interpète mes paquets commeun protocole particulier alors que ça n'a pas lieu d'être. J'ai l'impression que leur contenu est correct.. Etonnant
Marsh Posté le 04-08-2016 à 16:31:21
Bonjour,
J'envoie un paquet UDP en local avec le code suivant :
Quand je regarde avec wireshark, ça fonctionne bien (paquet UDP, avec une taille bien reconnue etc.) :
J'aimerais éviter de recréer et fermer un socket systématiquement. Du coup j'ai changé le bout de code pour :
Et là rien ne va plus :
Qu'ai-je raté ?
Merci de votre aide!
Message édité par Profil supprimé le 04-08-2016 à 16:31:37