Articles of multicast

UDP: escuchar el mismo puerto para dos transmisiones de multidifusión diferentes

Necesito escuchar 2 grupos de multidifusión diferentes usando el mismo puerto. Program A escuchará desde 230.0.0.1 y el Program B desde 230.0.0.2 . Ambos grupos de multidifusión usan el mismo port 2000 y no tengo control sobre él. Cuando ejecuto mis progtwigs, recibo ambas transmisiones de multidifusión en cada progtwig, es decir, los paquetes de […]

¿Cómo Multicast (enviar) al primer NIC?

Recientemente descubrí que si tengo una conexión de acceso telefónico (esto es para un quiosco) y una conexión de red de área local, cuando se establece la conexión de acceso telefónico (con acceso a Internet), mi envío de multidifusión se establecerá de forma predeterminada en el acceso telefónico. en lugar de mi LAN NIC. Esto […]

Recibiendo datos de multidifusión de diferentes grupos en el mismo socket en Linux

Digamos que quiero recibir datos de 239.1.2.3:20000 y también de 239.4.5.6:20001 en un progtwig de C de Linux. ¿Puedo hacerlo con un solo socket? Por supuesto, puedo unirme a varios grupos en el socket mediante la opción IP_ADD_MEMBERSHIP setsockopt, pero como los puertos son diferentes, no estoy seguro de que sea posible “enlazar a ambos […]

Paquetes duplicados en el zócalo receptor de multidifusión

Parece que hay un error en la siguiente implementación de MulticastReceiver. Al crear dos instancias para y , recibo cada paquete dos veces en cada flujo. Cualquier punteros? Mi conjetura es REUSEADDR? class MulticastReceiverSocket { protected: const std::string listen_ip_; const int listen_port_; int socket_file_descriptor_; public: MulticastReceiverSocket ( const std::string & listen_ip, const int listen_port ) […]

Grupo Netlink Multicast Kernel

La tarea que estoy tratando de lograr es en realidad bastante simple (multidifusión de la cadena “TEST” a un demonio de usuario), pero el módulo del kernel no se comstack. Se detiene con el error: passing argument 4 of ‘genlmsg_multicast_allns’ makes integer from pointer without a cast [enabled by default] ¿Pero no debería ser simplemente […]

¿Los paquetes de multidifusión IPv6 de scope de enlace no se pueden enrutar en un MacBook Pro?

Esta es una pregunta un poco oscura, pero estoy perplejo y pensé que tal vez alguien podría tener más pistas sobre el tema. Mi compañero de trabajo ha estado ejecutando con éxito una aplicación interna que utiliza la multidifusión IPv6 en su MacBook Pro durante varios meses, pero hoy Mac decidió dejar de enrutar los […]

Recepción de varias fonts de multidifusión en el mismo puerto: C, Linux

Tengo una aplicación que recibe datos de varias fonts de multidifusión en el mismo puerto. Soy capaz de recibir los datos. Sin embargo, estoy tratando de tener en cuenta las estadísticas de cada grupo (es decir, los mensajes recibidos, los bytes recibidos) y todos los datos se mezclan. ¿Alguien sabe como resolver este problema? Si […]

Error “No existe tal dispositivo” en la llamada setsockopt

Tengo un código en el que enviar datagtwigs de multidifusión. Una pieza crítica de código: uint32_t port; int sockfd, err_ip; const uint32_t sizebuff = 65535 – (20 + 8); unsigned char *buff = (unsigned char *) malloc(sizebuff); struct sockaddr_in servaddr, cliaddr; struct in_addr serv_in_addr; struct ip_mreq req; port = str2uint16(cmdsrv->ipport); bzero(buff, (size_t)sizebuff); bzero(&servaddr, sizeof(servaddr)); bzero(&serv_in_addr, […]

Multicast desde el kernel al espacio de usuario a través de Netlink en C

Estaba tratando de escribir un progtwig simple que se comunicara entre el kernel y el espacio de usuario usando Netlink. Básicamente esto es lo que quería lograr: El progtwig de espacio de usuario comienza a vincularse a un grupo de multidifusión definido por el usuario. Insertar módulo kernel El módulo del kernel envía un mensaje […]