TODAY : / TOTAL :

[Network] 브로드캐스팅 [BroadCast]

  • Share this:
반응형
*브로드캐스팅 :: 방송

* 유니캐스팅
- 1:1 통신
* 브로드캐스팅
- 한 네트워크에 속한 모든 개체(불특정 다수)와 통신 하는 모델.
* 멀티캐스팅
- 한 네트워크에 속한 선별된 개체(특정 다수)와 통신하는 모델.


:: 브로드캐스팅 데이터 전송 절차 ::

1. 브로드캐스팅용 소켓 설정.
 
 
BOOL bEnable = TRUE// Default : FALSE

retval = setsockopt(sock, SOL_SOCKET, SO_BROADCAST,

    (char *)&bEnable, sizeof(bEnable));

if(retval == SOCKET_ERROR) err_quit("setsockopt()");




2. 브로드캐스팅 주소로 전달.

 

// 소켓 주소 구조체를 초기화한다.

SOCKADDR_IN remoteaddr;

ZeroMemory(&remoteaddr, sizeof(remoteaddr));

remoteaddr.sin_family = AF_INET;

remoteaddr.sin_port = htons(9000);


// INADDR_BROADCAST : 255.255.255.255 -> 브로드캐스팅 전용 주소

remoteaddr.sin_addr.s_addr
= htonl(INADDR_BROADCAST);



//
보낼 데이터를 버퍼에 저장한다.

char buf[BUFSIZE];

...

// 데이터를 보낸다.

retval = sendto(sock, buf, strlen(buf), 0,

  (SOCKADDR *)&remoteaddr, sizeof(remoteaddr));

if(retval == SOCKET_ERROR); // 오류 처리

printf("%d바이트를 보냈습니다.\n", retval);





반응형

SEARCH

태그로 찾아보기