static void arv_gv_discover_socket_list_send_discover_packet (ArvGvDiscoverSocketList *socket_list) { ArvGvcpPacket *packet; GSList *iter; size_t size; packet = arv_gvcp_packet_new_discovery_cmd (&size); for (iter = socket_list->sockets; iter != NULL; iter = iter->next) { ArvGvDiscoverSocket *discover_socket = iter->data; GError *error = NULL; arv_gv_discover_socket_set_broadcast (discover_socket, TRUE); g_socket_send_to (discover_socket->socket, discover_socket->target_address, (const char *) packet, size, NULL, &error); if (error != NULL) { arv_warning_interface ("[ArvGVInterface::send_discover_packet] Error: %s", error->message); g_error_free (error); } arv_gv_discover_socket_set_broadcast (discover_socket, FALSE); } arv_gvcp_packet_free (packet); }
static void arv_gv_interface_send_discover_packet (ArvGvInterface *gv_interface) { ArvGvcpPacket *packet; GSList *iter; size_t size; arv_gv_interface_build_discover_infos_list (gv_interface); packet = arv_gvcp_packet_new_discovery_cmd (&size); for (iter = gv_interface->priv->discover_infos_list; iter != NULL; iter = iter->next) { ArvGvInterfaceDiscoverInfos *infos = iter->data; GError *error = NULL; arv_gv_interface_socket_set_broadcast (infos->socket, TRUE); g_socket_send_to (infos->socket, infos->broadcast_address, (const char *) packet, size, NULL, &error); if (error != NULL) g_message ("error: %s", error->message); arv_gv_interface_socket_set_broadcast (infos->socket, FALSE); } arv_gvcp_packet_free (packet); }
static void arv_gv_discover_socket_list_send_discover_packet (ArvGvDiscoverSocketList *socket_list) { GInetAddress *broadcast_address; GSocketAddress *broadcast_socket_address; ArvGvcpPacket *packet; GSList *iter; size_t size; packet = arv_gvcp_packet_new_discovery_cmd (&size); broadcast_address = g_inet_address_new_from_string ("255.255.255.255"); broadcast_socket_address = g_inet_socket_address_new (broadcast_address, ARV_GVCP_PORT); g_object_unref (broadcast_address); for (iter = socket_list->sockets; iter != NULL; iter = iter->next) { ArvGvDiscoverSocket *discover_socket = iter->data; GError *error = NULL; arv_gv_discover_socket_set_broadcast (discover_socket, TRUE); g_socket_send_to (discover_socket->socket, broadcast_socket_address, (const char *) packet, size, NULL, &error); if (error != NULL) { arv_warning_interface ("[ArvGVInterface::send_discover_packet] Error: %s", error->message); g_error_free (error); } arv_gv_discover_socket_set_broadcast (discover_socket, FALSE); } g_object_unref (broadcast_socket_address); arv_gvcp_packet_free (packet); }