|
안녕하세요.
항상 여기서 많은 정보를 얻어가는 사람입니다.
아래 답변이 없어서 다시 질문 드립니다. ㅠㅠ
현재 제가 ICS의 TWSocket 컴포넌트를 사용해서 UDP 멀티캐스트를 하고 있습니다.
setsockopt을 사용해서 소켓 버퍼를 5M정도로 늘려서 UDP 데이타를 받고 있는데
OnDataAvailable에서 While 문을 통해 버퍼의 내용을 다 받으면 어느 순간 연결이 끊어져서 데이터가 더이상 받아지지 않습니다.
물론 UDP 서버에서는 Multicast로 계속 전송중입니다.
이 문제에 대해 일전에 질문을 했었는데 kylix님이
UDP Multicast는 IGMP 메시지를 통해서 컨트롤 되고
주기적으로 IGMP메시지중 query메시지를 보내 줘야지 연결 유지가 된다고 했습니다.
그런데 IGMP Membership Query를 보내줘도 연결이 되지 않습니다.
그리고 VLC라는 프로그램으로 UDP 데이타 수신하면 Wireshark라는 Network Analyzer로 분석해봐도 IGMP Membership Query 메시지는 보내지 않고도 정확히 데이터를 수신하였습니다.
결론적으로 TWSocket을 잘못 사용하거나 TWSocket에서 못받는거 같은데 이런 현상에 대해 아시는분 답변 부탁드립니다.
읽어주셔서 감사합니다.
|