2013-07-18 3 views
1

인터넷 연결의 품질을 분석하는 앱을 개발 중이며 그 중 일부는 패킷 손실을 측정합니다.Java로 패킷 손실 측정

IP 주소로 패키지를 보내려하지만 어떻게 메시지를 보내고 그 패키지가 반환되는지 확인할 수 있습니까? 답장을 보내는 패키지를 보낼 필요가 있다고 생각하지만 검색이나 Google을 사용하여 그 예를 찾을 수 없습니다.

또는 기존 트래픽을 사용해야합니까 (방법)?

그 외에도 왕복 시간을 어떻게 측정합니까?

답변

1

TCP는 신뢰할 수있는 전송이므로 손실 된 패킷을 볼 수 없습니다. 리눅스에서는 ifconfig를 사용하여 얼마나 많은 재전송이 발생했는지 확인할 수 있습니다. 안드로이드에서 어떤 커맨드 라인 도구를 보여줄지 모르겠지만이 정보를 제공하기 위해 시스템 도구를 사용해야 할 것입니다.

BTW UDP 패킷을 사용하여 패킷 손실을 예측할 수 있습니다. UDP와 TCP의 패킷 손실률은 같지 않지만 아이디어가 있습니다.

0

TCP 패킷 손실을 쉽게 볼 수 없으므로 UDP 또는 ICMP (ping)를 사용해야합니다.

ICMP를 사용하는 경우 반대쪽 컴퓨터가 ICMP에 응답해야합니다. 방화벽은 종종 ICMP를 차단합니다.

UDP를 사용하는 경우 다른 컴퓨터는 패킷을 인식하고 가능한 빨리 응답 할 수있는 서버 소프트웨어가 필요합니다. 가장 간단한 유형의 서버는 에코 서버입니다.

는 여기 Java UDP Echo Server

왕복 시간은 당신이 그 전달에 대한 응답을받는 시간에 패킷을 전달하는 시간의 차이를 고려하여 측정 할 수있다. 처리 시간과 함께 왕복 시간을 오염시키지 않도록 프로토콜은 사소한 것이어야합니다.