CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C++] réseau, socket recalcitrante

ArsenicBottle
ArsenicBottle
Niveau 6
25 mai 2011 à 23:18:09

Bonjour,
J'ai un problème dans de la communication udp entre un serveur et un client (je dois faire un échange de messages entre les 2).

Le code suivant présente ce qui se passe coté client :
http://pastebin.com/fEBNg29Y

Le premier envoi (sendto) fonctionne, je recois le texte coté serveur. Ensuite, coté serveur, il y a renvoit d'un message (je le vois passer sur le réseau via wireshark, donc l'envoit est bon), mais le recvfrom du client renvoit toujours -1, je n'arrive pas à déterminer pourquoi....
J'espère que vous aller pouvoir m'aider.
Merci :)

PaulAimik
PaulAimik
Niveau 10
26 mai 2011 à 10:08:32

T'es sûr que recvfrom() est bloquante ?
Si elle l'est pas c'est normal qu'elle te retourne rien : le serveur a pas le temps de répondre entre l'appel de sendto() et recvfrom()...
Essayes de boucler recvfrom() tant que tu reçois rien.

godrik
godrik
Niveau 30
26 mai 2011 à 14:25:45

message_svr2cli ne m'a pas l'air initialise. La lecture va foire de toute facon.

Selon la man, -1 c'est une erreur. que vaut errno?

ArsenicBottle
ArsenicBottle
Niveau 6
27 mai 2011 à 21:01:11

j'ai trouvé!
en fait j'ai défini mon buffer (qui recoit l'écriture du recvfrom) à const char *. Or il semble qu'il faille mettre un char[LEN].

A ce sujet (j'ai relu un peu ce qu'était un pointeur :-d ) je ne comprend pas trop l'intéret de définit un const char *. J'ai l'impression que ca se fait beaucoup, mais un char * n'irait-il pas aussi bien ? Avec le const, on est sur que la chaine ne sera pas modifiable directement via le pointeur définit, mais y a t il un autre intéret ?

merci

godrik
godrik
Niveau 30
27 mai 2011 à 21:36:16

"on est sur que la chaine ne sera pas modifiable directement via le pointeur définit, mais y a t il un autre intéret ?"
Non, c'est le but :)

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment