Multicast Problem



  • Hallo
    Ich bin grade ein wenig am rumspielen mit multicast (sockets udp)
    Ich habe bei W-Lan das Problem das es öffters vorkommt das die UDP Packete gar nicht ankommen leider weis ich nicht woran das liegen könnte 😞

    In meinen Testprogramm öffne ich eine Datei und Sende die Daten an eine Multicast-Ip wenn der Client ein Packet erhalten hat schickt er ein Antwortpacket wo nur drinne steht das er das Packet erhalten hat
    leider kommt es bei der Übertragung öffter vor das ein Packet nicht beim Client ankommt deshalb habe ich ein 2 Thread gemacht der wenn ein Client nicht nach 500ms antwortet das Packet erneut sendet

    das ein Packet beim Client nicht ankommt passiert leider sehr offt 😞
    IP an die gesendet wird 224.0.0.1 port 55555 udp Packetgröße 32768 byte/chars

    setsockopt(r, SOL_SOCKET, SO_REUSEADDR, (char*)&flag_on, sizeof(flag_on));
    
         mc_req.imr_multiaddr.s_addr = inet_addr(addresse.c_str());  
         mc_req.imr_interface.s_addr = htonl(INADDR_ANY); 
        if ((setsockopt(r, IPPROTO_IP, IP_ADD_MEMBERSHIP,  
       (char*) &mc_req, sizeof(mc_req))) < 0) { 
        perror("setsockopt() failed"); 
      }
    

    hat vieleicht jemand eine Idee woran das liegen könnte?



  • Ich vermute mal Packet-Loss weil WLan-Verbindung zu schlecht.



  • Dieser Thread wurde von Moderator/in CStoll aus dem Forum C++ (auch C++0x) in das Forum Webzeugs verschoben.

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

    Dieses Posting wurde automatisch erzeugt.



  • am wlan scheint es nicht zu liegen da das Problem auch auftritt, wenn ich das mit Kabel mache auch wenn ich Sleeps von 1000ms einbaue taucht das Problem auf 😞



  • Wenn es wichtig ist, das ein Packet ankommt, dann ist UDP das falsche Protokoll. In dem Fall ist TCP angebrachter.



  • ja aber mit tcp geht leider kein multicast 😞
    und das mehr als 50% nicht ankommen bei 2 rechnern die keine 2 meter voneinander entfernt sind sollte das eigentlich nicht so ein 😞



  • wenn ich direkt die Packet an die Clients sende dan klappts ohne Probleme scheint irgendwie am Multicast zu liegen



  • Habe heute festgestellt, dass es klappt solange max 150 chars pro Packet genutzt werden bei 160 kommen die Packete nicht mehr sauber an woran kann das liegen das man nur so kleine packete nutzen kann?


Anmelden zum Antworten