关于udp发broadcast广播包sendto返回-1
2017-10-27 本文已影响0人
Blizzard_5f3d
最近在调试linux下的udp广播,发现当addr设置成server.sin_addr.s_addr = INADDR_BROADCAST;
时候,调用sendto返回-1,在网上找了好多资料都没结果。后来无意间发现原来调用
res = setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &server, sizeof(server))
因为默认情况下套接字是不指出广播的,必须设置套接字描述符支持广播才行。
问题解决,为了防止大家也遇上这种问题,写下此文分享一下。
借鉴http://blog.csdn.net/dxpqxb/article/details/38403199