소켓으로 BroadCasting..

익명 사용자의 이미지

소켓으로 Broadcasting 패킷을 날리려는 프로그램을 만들려고 하는데
도저히, 알 수가 없습니다.
setsockopt에서 SO_BROADCAST옵션을 주고
broadcast 주소로 sendto를 해봤지만 동작하지 않습니다.
어떻게하면, Broadcast하는 프로그램을 만들 수 있나요?

p.s - 멀티캐스트 방식으로 짜는 거 말구요..

익명 사용자의 이미지

제가 사용하는 방법인데,
소켓 옵션으로 하는 방법도 있지만

브로드캐스트 주소로 전송을 하면 같은 효과가 나지요;;

/*******************************************************************************
* Broadcasting data
******************************************************************************/
int BroadCasting(fd, port, buff, len)
char *buff;
int len, fd, port;
{
struct sockaddr_in svr;
struct servent *se;
int sz;

memset(&svr, 0x00, sizeof(struct sockaddr_in));
svr.sin_family = AF_INET;
svr.sin_addr.s_addr = htonl(INADDR_BROADCAST);
svr.sin_port = htons(port);
sz = sendto(fd, buff, len, 0, (struct sockaddr *)&svr,
sizeof(struct sockaddr_in));
return sz;
}

익명 사용자의 이미지

-_-; 주소를 당연히 Broadcast주소로 했는데용...;;;
그래도 안되던데;;
위에꺼 되는 거 맞나요?