[W5300] 소켓별 수신 IP 질문드립니다.

setSHAR(cfgLocal.Net_ip.mac);
setSUBR(cfgLocal.Net_ip.subnet);
setGAR(cfgLocal.Net_ip.gateway);
setSIPR(cfgLocal.Net_ip.ip);

으로 하여

MAC : 0x18, 0x32, 0xA2, 0x00, 0x00, 0x02
SUBnet : 255.255.255.0
gateway : 192.168.0.1
IP : 192.168.0.201

로 설정하였습니다.

그리고 소켓 0번은 30001번 포트를 지정 해줘서

UDP 모드로 설정을 해줬습니다.

그러면 UDP 프로그램으로 192.168.0.201 / 30001 로 쏘면 응답을 해야하는데

recvfrom(LAON_SOCK_CTRL, g_mgrNetCmd.bufRcv, len, ip, &port); 를 이용하여

수신 확인한 결과 169.254.180.202 / 30001로 수신이 되고 있습니다.

제가 설정을 잘못 한건가요?

위 Source IP Address Register 를 192.168.0.201로 설정을 해줬는데

왜 169.254.180.202 / 30001 로 쏴야 수신이 되는지 궁금합니다…

------------------------------------------------------------------------------------------------------------------------------------

질문을 변경하겠습니다.

W5300 세팅을

setSHAR(cfgLocal.Net_ip.mac);
setSUBR(cfgLocal.Net_ip.subnet);
setGAR(cfgLocal.Net_ip.gateway);
setSIPR(cfgLocal.Net_ip.ip);

MAC : 0x18, 0x32, 0xA2, 0x00, 0x00, 0x02
SUBnet : 255.255.255.0
gateway : 192.168.0.1
IP : 192.168.0.201

으로 세팅

PC IP : 192.168.0.200

PC UDP 프로그램을 이용해 1:1로 30001 포토를 이용해 통신할경우

recvfrom(LAON_SOCK_CTRL, g_mgrNetCmd.bufRcv, len, ip, &port);

읽을때 192.168.0.200 이고 송신 후 PC UDP 프로그램으로 ACK 할경우

PC UDP 프로그램에 192.168.0.201로 수신 됩니다.

그러나 W5300 제품과 PC 사이에 ZIO에서 나온 허브를 이용할 경우

recvfrom(LAON_SOCK_CTRL, g_mgrNetCmd.bufRcv, len, ip, &port);

하게 되면 169.254.180.202 / 30001 로 받게 되고

송신 후 ACK 할때는 아무것도 받지 못하게 되더군요.

허브가 169.254.180.202 라는 IP를 배정해 줘서 W5300은 192.168.0.201이기때문에

PC까지 수신 ACK가 도달하지 못한듯 한데 허브와 상관없이 통신이

가능하도록 변경 가능한가요?

일단… 네트워크에 대해서 먼저 공부를 해주시는것이 좋습니다.

지금 허브라고 말씀하시는 ZIO? 라는 제품은 아마도 공유기로 보입니다.

현재 보여지는 정보로만 생각해봤을때 ZIO라는 공유기에 dhcp IP할당 범위 셋팅이 169.254.180.202라는 IP가 포함되어있게 셋팅 되어있을테고 그 아래에 PC는 IP를 자동으로 할당받게 되어있을겁니다.

따라서 pc ip를 고정ip로 설정해 주시거나 w5300을 dhcp로 ip할당 받게 하면 문제없이 통신이 가능할 것입니다.

감사합니다.

답 주셔서 감사합니다.

ZIO 공유기를 통해서 제품과 PC를 연결하고

PC로 실행 - cmd - ipconfig /all

169.254.180.202 (기본설정)
192.168.0.200(중복)

로 표시가 되었었습니다.

ZIO 공유기에서 해제한 후 제품과 1:1로 하면

192.168.0.200(기본설정) 만 나왔습니다.

이떄는 정상적으로 제품에서 192.168.0.200 IP로 수신이 되었습니다.

그래서 인터넷 찾으면서 이리저리 만지다보니 169.254.180.202 가 사라지고

정상적으로 192.168.0.200에서 수신이 되었습니다.

아직 169.254.180.202 가 왜 생겼고 사라졌는지는 정확히 모르겠네요.

먼저 pc의 네트워크 설정을 확인하시기 바랍니다.

사진으로 보여 주시듯 고정 IP를

192.168.0.200으로 설정을 했었는데

169.254.180.202 이 아이피가 계속 기본설정이 되었었습니다.

http://yearningsoul.tistory.com/entry/ipv4-주소-자동설정으로-인한-중복-문제

이 링크와 동일한 현상이였는데 따라하다보니 해결된듯 합니다.

네 윈도우 os에서의 문제 같네요

os에서 기존의 자동으로 할당받은 ip를 table에 가지고 있었던것 같습니다.

잘해결되셨다니 다행이네요~