1. создаю сабж:
int BF=SO_BROADCAST;
sr = socket (AF_INET, SOCK_DGRAM, 0);
bzero (&clnt_dgram, sizeof(clnt_dgram));
clnt_dgram.sin_family = AF_INET;
clnt_dgram.sin_addr.s_addr = INADDR_ANY;
clnt_dgram.sin_port = htons(CLNT_PORT);
bind (sr, (struct sockaddr *)&clnt_dgram, sizeof(clnt_dgram))
setsockopt(sr, SOL_SOCKET, SO_BROADCAST, (void *)&BF, sizeof(BF));
bzero (&srv_dgram, sizeof(srv_dgram));
srv_dgram.sin_family = AF_INET;
srv_dgram.sin_addr.s_addr = INADDR_ANY;
srv_dgram.sin_port = htons(SRV_PORT);
len = sizeof(srv_dgram);
sendto(sr, &CLIENT_UP, sizeof(CLIENT_UP), 0, (struct sockaddr *)&srv_dgram, from_len );
смотрю tcpdump-ом - пакеты уходят, броадкастовые, как положено но вот проблемка: уходят они только на интерфейс lo, а eth0 молчит, как партизан. иде грабли?
2. имеет ли значение, когда вызывается setsockopt() - до bind(), или после. а то во всех примерах по разному...