WIZnet Developer Forum

[W5500] Multicast 문의

안녕하세요.
W5500을 이용하여 UDP Multicast를 보낸느데 잘 안되서 문의 드립니다.

장비1과 장비2에서 W5500을 사용합니다.
장비1에서 239.0.0.120 (port 18231)으로 데이터를 보내고
장비2에서 해당 데이터를 수신하려고 합니다.

PC에서 Multicast tool을 이용해서 239.0.0.120으로 송신하면
장비 1과, 장비2에서 각각 수신됩니다.

장비1에서 송신한느 데이터도 PC에서 수신됩니다.

그러나 장비1에서 송신하는 데이터를 장비2에서만 받지 못합니다.

PC에서 보내는 데이터와 장비1로부터 나오는 데이터를 wireshark에서 캡쳐해보면… (그림첨부)
장비1에서는 Dst Mac이 모두0으로 표시됩니다.
이부분이 연관이 있는지요?

장비1과 장비2 모두 MCast Open은 다음과 같이 하였습니다.
_btIP = 239.0.0.120;
_wPort = 18231;

setSn_DIPR(_btSockNum, _btIP);
setSn_DPORT(_btSockNum, _wPort);

int _iRes = SOCK_OK;

if((_iRes = socket(_btSockNum, Sn_MR_UDP, _wPort, SF_MULTI_ENABLE | SF_IGMP_VER2)) != _btSockNum){
return _iRes;
}

답변 부탁드립니다.

안녕하세요.

Multicast의 경우 Group MAC을 설정 해야 하는데요.

uint8_t mcastmacv4[6] = {0x01,0x00,0x5E,0x01,0x01,0x0b};
setSn_DHAR( sn, mcastmacv4);

와 같이 소켓 생성하시기 전에 추가 해보세요.(IP에 대응되는 MAC으로)

그리고 참고 할 자료 첨부 합니다.

HowtoMulticasting_En_v1.0.pdf (419.2 KB)

너무 잘 됩니다.^^
답변과 자료 감사드립니다.

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.