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가 도달하지 못한듯 한데 허브와 상관없이 통신이
가능하도록 변경 가능한가요?