2016-08-18 1 views
0

동일한 네트워크에 2 개의 액세스 포인트와 1 개의 메인 라우터가 있습니다. 서버와 두 개의 액세스 포인트는 스위치 (허브)에 연결되며이 스위치는 주 라우터에 연결됩니다. Android 기기를 액세스 포인트 2에 연결하고 서버에 요청 (HTTP POST)을 보내고 다른 기기가 범위를 벗어나면 자동으로 두 액세스 포인트 사이를 전환하여 액세스 포인트 1에 연결하면 동일한 프로세스가 두 번 수행됩니다.두 개의 액세스 포인트 간 안드로이드 전환 HTTP POST 요청

패키지 ACK를 보내면 ap2로 돌아와 시간이 초과됩니다. 클라이언트가 패키지를 다시 보냅니다.

한 번에 두 개의 액세스 포인트에 ACK를 다시 보내는 것과 같은 방법으로 문제를 해결할 수 있습니까? 아니면 다른 문제로 인해 문제가 발생할 수 있습니까?

답변

0

예 해결 방법이 있습니다. 멱등환 작업을 수행하는 메커니즘을 구현하여 응용 프로그램 계층에서 해결해야합니다. 우선 문제는 당신이 그것을 묘사 한 것처럼 보입니다.

람다 작동을 만들기 위해 메시지에 카운터를 포함 할 수 있습니다. 클라이언트는 보내는 모든 메시지마다 카운터를 증가시킵니다. 서버 측에서는 반복되는 카운터 값이있는 메시지를 받으면 메시지가 dup임을 알고 방금 메시지를 삭제합니다. 간과 할 수있는 몇 가지 모퉁이를 생각해 낼 수는 있지만 근본적으로 이것이 어떻게 해결되어야하는지입니다.