UNIX Socket -> sendto() falsche IP



  • Hallo,

    ich verwende gerade UDP sockets. ich habe einen rechner (rechner 3) der alle udp packete im netz empfängt und auswertet und zudem selbst per sendto() nochmals an zwei ver. rechner (rechner 1 und 2) udp telegramme verschickt.

    ich empfange von rechner 1 und 2 in einer schleife zuerst alle udp telegramme, danach sende ich an rechner 1 ein telegram mit sendto, danach an rechner 2 und übergebe jeweils die entsprechende ip adresse. jetzt passiert es, dass beim nächsten durchlauf, wenn wieder ein telegram an rechner 1 rausgeht die ip adresse von rechner 2 verwendet wird.

    hat jemand eine idee? ich verwende zum senden und empfangen den gleichen socket descriptor, ist das ein problem?

    grüße

    nexi



  • Dieser Thread wurde von Moderator/in rüdiger aus dem Forum ANSI C in das Forum Linux/Unix verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • ohne deinen code zu sehen, wird dir kaum jemand helfen können. eine vermutung ist, dass du vergisst, vor jedem senden die adresse neu zu setzen. das ist aber nur eine sehr waage vermutung.
    es heißt übrigens datagram und nicht telegramm.



  • besserwisser schrieb:

    das ist aber nur eine sehr waage vermutung.

    Es heißt "vage" 😉 Ansonsten volle Zustimmung.



  • oh, wie peinlich. du hast recht. manchmal kommen die worte leider aus meinen fingern raus, wie ich sie aussprechen würde. *gg*


Log in to reply