sockets - Send UDP broadcast with use of glib -


i trying write simple application sends , receives broadcasts. testing purposes. doesn't work. receive command seems work, sending fails. help? important have use glib sockets.

my code receiving:

    gerror *err = nullptr;     ginetaddress *iaddr = g_inet_address_new_any(g_socket_family_ipv4);     gsocketaddress *addr = g_inet_socket_address_new(iaddr, 7070);     gsocket *sock = g_socket_new(g_socket_family_ipv4, g_socket_type_datagram, g_socket_protocol_udp, &err);     if (err)         werror("err1");      g_socket_set_broadcast(sock, true);     g_socket_bind(sock, addr, true, &err);     if (err)         werror("err2");     char buf[200] = {0};     wdebug("listening!");     g_socket_receive(sock, buf, 200, nullptr, &err);     if (err)         werror("err3");     else         wdebug("buf = %s", buf); 

application starts wait incoming packets. here's code sending broadcast:

    gerror *err = nullptr;     ginetaddress *iaddr = g_inet_address_new_any(g_socket_family_ipv4);     gsocketaddress *addr = g_inet_socket_address_new(iaddr, 7070);     gsocket *sock = g_socket_new(g_socket_family_ipv4, g_socket_type_datagram, g_socket_protocol_udp, &err);     if (err)         werror("err1");     g_socket_set_broadcast(sock, true);     g_socket_send_to(sock, addr, "test", 5, nullptr, &err);     if (err)         werror("err2");     wdebug("sent!"); 

i've been looking examples on sending broadcasts glib, failed find them. can help?

you shall create specific broadcast address.

instead of

ginetaddress *iaddr = g_inet_address_new_any(g_socket_family_ipv4); 

use example

ginetaddress *iaddr = g_inet_address_new_from_string("127.255.255.255"); 

this send broadcast loopback interface.
more details broadcast address calculation see http://jodies.de/ipcalc.


Comments

Popular posts from this blog

How to connect android app to App engine -

gcc - MinGW's ld cannot perform PE operations on non PE output file -

php - display validation error message next to the textbox in codeigniter -