소켓통신을 하고있는데 자꾸 response가 2번씩 올라와서 wireshark로 까보니깐
제가 2번씩 쏘는현상이 있더라구요.. 분명 소스상 1번만 쏘게 되어있고 디버그 걸어가면서 단계별로 봐도 한번만 쏘는데
Broadcast 주소(ex: 192.168.2.255) 로 쏘면 2번씩 나가는 현상이 있는거 같습니다.. 혹시 1번만 쏘게 할수 있나요..? 아니면 제가 놓치고 있는 부분이 있을까요?
UDP에선 그런 일이 일어날 수 있다는 것 같네요. 그래서 메시지별로 유니크 ID를 넣어서 중복메시지 혹은 옛날 메시지는 버리도록 구현하라는 조언이 있군요. 애초에 UDP자체가 같은 패킷이 두번 도착하지 않음을 보장하지 않는다고 되어 있습니다.
만일 특정 라이브러리를 사용하고 계시다면 해당 라이브러리 자체에 버그가 있을 수도 있으니 해당 라이브러리의 포럼에서 물어보셔도 좋겠네요.
--
wireshark으로 패킷을 잡아서 pcap file을 올려 보세요.
www.gilgil.net
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
좀 검색을 해보니..
UDP에선 그런 일이 일어날 수 있다는 것 같네요. 그래서 메시지별로 유니크 ID를 넣어서 중복메시지 혹은 옛날 메시지는 버리도록 구현하라는 조언이 있군요. 애초에 UDP자체가 같은 패킷이 두번 도착하지 않음을 보장하지 않는다고 되어 있습니다.
만일 특정 라이브러리를 사용하고 계시다면 해당 라이브러리 자체에 버그가 있을 수도 있으니 해당 라이브러리의 포럼에서 물어보셔도 좋겠네요.
--
gilgil.net
wireshark으로 패킷을 잡아서 pcap file을 올려 보세요.
www.gilgil.net
댓글 달기