[comp.protocols.tcp-ip] UDP socket broadcast problem

TAYBENGH@NUSDISCS.BITNET (06/15/90)

        I tried to broadcast using UDP socket in Sun OS 4.0.3, sendto() failed
giving error 51 -> Network is Unreachable, is there anything wrong in the
following code segment:

        on = 1;
        if (setsockopt(id, SOL_SOCKET, SO_BROADCAST, (char *)&on, sizeof(on))
            < 0)
           syserr("bs_broadcast: setsockopt")

        if (getsockopt(id, SOL_SOCKET, SO_BROADCAST, (char *)&on, &onlen) <0)
           syserr("bs_broadcast: getsockopt")
        printf("on=%d, onlen=%d\n", on, onlen);

        /*
         * broadcast address
         */
        remote_sock.sin_addr.s_addr = INADDR_BROADCAST; ------> ???
        remote_sock.sin_family = AF_INET;
        remote_sock.sin_port = htons(remote_port);

        size = sendto(id, buf, buflen, 0, (struct sockaddr *)&remote_sock,
                      sizeof(remote_sock));

        --------------------------------------------------------------------

        I suspect it is something to do with the INADDR_BROADCAST, can anybody
please tell me how broadcast UDP properly? Please reply to me directly.
        Thanks.

- Beng Hang Tay (email: taybengh@nusdiscs)