* 유니캐스팅
- 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);
char buf[BUFSIZE]; ...
// 데이터를 보낸다. retval = sendto(sock, buf, strlen(buf), 0, (SOCKADDR *)&remoteaddr, sizeof(remoteaddr)); if(retval == SOCKET_ERROR); // 오류 처리 printf("%d바이트를 보냈습니다.\n", retval); |