Benötigen Sie eine unterbrechbare Methode zum Abhören von UDP-Paketen in einem Arbeitsthread

Ich entwickle eine Google Glass-App, die in einem Worker-Thread auf UDP-Pakete warten muss (Integration in ein vorhandenes System, das UDP-Pakete sendet). Ich habe zuvor eine Frage gestellt (sieheHier) und erhielt eine Antwort, die eine Anleitung dazu lieferte. Unter Verwendung des Ansatzes in der anderen Diskussion werde ich einen Arbeitsthread haben, der auf DatagramSocket.receive () blockiert ist.

Weitere Lektüre legt mir nahe, dass ich in der Lage sein muss, dies bei Bedarf zu starten / zu stoppen. Das bringt mich zu der Frage, die ich hier poste. Wie kann ich vorgehen, um das UDP-Listening (ordnungsgemäß) zu unterbrechen? Gibt es eine Möglichkeit, wie ich den Socket "nett" bitten kann, den receive () -Aufruf von einem anderen Thread abzubrechen?

Oder gibt es eine andere Möglichkeit, auf unterbrechbare Weise auf UDP-Pakete zu warten, damit ich den Listener-Thread nach Bedarf als Reaktion auf Geräteereignisse starten / stoppen kann?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage