네트워크 검색을 수행하기 위해 MulticastSocket
을 구현하는 Java 프로그램이 있습니다. 문제는 서버가 연속 된 ArrayList
의 활성 공유가 5 초마다 특정 포트 (내 경우 4446)에 여러 패킷을 보낸 다음 클라이언트가이를 수신한다는 것입니다. 그러나 ArrayList
이 수정 된 경우 서버는 다음 전송시이를 전송하지만 클라이언트는 수신시 서버가 이미 오래 전 보낸 이전 패키지를 수신합니다.MulticastSocket을 사용하여 항상 최신 패킷을받는 방법은 무엇입니까?
여기서 예이다 :
ArrayList
1 개 요소를 갖는다.
서버 -> 전송 -> 기다려 5초 -> 패킷 번호를 전송하는 단계 (2) -> 5 초 정도 ->기간 동안 ArrayList
수정 -> 패킷 번호를 전송하는 3
클라이언트 -> 액티브 주 찾는다 -> 수신 패킷 # 1 -> 1 요소! 승인! ... (무한한 시간 동안 기다릴 수 있음 -이 시간까지 # 2와 # 3이 서버에 의해 전송 됨)
클라이언트 -> 활성 공유 찾기 -> 수신 패킷 2 -> 1 요소 . 아니.
그리고 패킷 (이상적으로) # 3을 수신해야하므로 모든 일관성이 손실됩니다.
클라이언트가 항상 가장 최근에 보낸 패킷을 받도록 만들 수있는 방법이 있습니까? 고맙습니다.