Kann nur Daten von max 10 Multicastadressen an einem Socket empfangen



  • Hallo,

    ich möchte Daten von einigen hundert Multicastadressen empfangen.
    Jetzt kann ich aber immer nur Daten von maximal 10 Multicastadressen gleichzeitig an einem Socket empfangen (Benutze WinXP). Deshalb müsste ich ewig viele Sockets erstellen, um Daten von allen Multicastadressen empfangen zu können.

    Weiß jemand wie ich mehr wie 10 Multicastadressen an einem Socket registrieren kann, um nicht so viele Sockets erstellen zu müssen?

    Ich verwende übrigends folgende Funktion:

    string multicastAddr = "239.255.10.1"; // z.B.
    
    // construct an IGMP join request structure
    mc_req.imr_multiaddr.s_addr = inet_addr( multicastAddr.c_str() );
    mc_req.imr_interface.s_addr = htonl( INADDR_ANY );
    
    // send an ADD MEMBERSHIP message via setsockopt
    if( (setsockopt (sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char FAR*) &mc_req, sizeof( mc_req ))) < 0 )
    {
      perror("setsockopt() failed");
      closesocket(sock);
      exit(1);
    }
    

    Danke!


Anmelden zum Antworten