2016-06-02 6 views
0

In meiner Anwendung bin eine UDP-Sendung über ein lokales WLAN-Netzwerk, um ein bestimmtes Gerät zu entdecken. Wenn die Anwendung die anfängliche Übertragung durchführt, erhalte ich sowohl die Broadcast-Nachricht (wie erwartet) als auch die Antwort von dem lokalen Gerät. Alles funktioniert super.Android DatagramSocket nicht empfangen nach Zurück-Taste gedrückt

Wenn ich weiter zum nächsten Fragment (es ist ein Geräte-Setup-Flow) und dann drücken Sie zurück und versuchen, die lokalen Geräte neu zu entdecken, ich nur die Broadcast-Nachricht und nichts anderes.

Ich habe etwas mit Wireshark geschnüffelt und kann die Nachricht im Netzwerk ausgehen sehen und kann das lokale Gerät auf die Nachricht reagieren sehen. Es scheint, dass entweder das OS das Paket fallen lässt oder die Anwendung irgendwie auf den falschen Port hört. Ich glaube, es könnte auch damit zu tun haben, dass das Fragment unkorrekt zum Backstack hinzugefügt wird.

Ich bin auf der Suche nach Vorschlägen oder um zu sehen, ob jemand eine ähnliche Situation erlebt hat?

Antwort

0

Ich fand es heraus. Es gab einen anderen Thread, der auf den gleichen UDP-Socket zugreift und Probleme verursacht, die ich nicht leicht erkennen konnte. Ich zentralisierte alle UDP-Kommunikation und es funktionierte wie ein Zauber!