UDP Paket empfangen

  • 7 Antworten
  • Letztes Antwortdatum
P

philips0815

Neues Mitglied
0
Hallo!

Ich kann mit meinem Android App im Privaten Netzwerk über Wlan UDP Pakete senden und empfangen. Über GSM Verbindung funktioniert es auch mit dem Senden. Wie kann ich jedoch ein UDP Paket von zB. einem Pc auf ein Smartphone senden. Ist das nur mit TCP möglich?
 
Hi,

UDP Pakete kann man nicht über TCP versenden. Das sind zwei verschiedene Protokolle, nicht vermischen :)

Beim mobilen Netz wirst du Probleme haben, weil die Netzanbieter die Ports blockieren und dir keinen direkten Zugriff auf das Gerät erlauben. Ich kenne momentan keine Lösung dafür.

Man kann aber eine Verbindung vom Handy zum PC aufbauen. Dafür muss man aber eine Portweiterleitung beim Router aktivieren. So könnte man eine TCP Verbindung aufbauen und kann dann Daten hin und her schicken.
 
  • Danke
Reaktionen: philips0815
Ja sorry hab mich falsch ausgedrückt, die Unterschiede von UDP und TCP kenne ich:)
Nur das TCP Protokoll hab ich noch nie verwendet. UDP ist da um einiges leichter.
Würde gerne einige Messwerte von extern vom Heimnetzwerk abfragen.
Dann hilfts nichts und ich muss mir woll das TCP Protokoll mal ansehen.

Aber danke!
 
TCP ist wesentlich einfacher als UDP aufgrund der zusätzlichen Sicherheit, fehlerfreien Übertragung und korrekten Reihenfolge der Pakete. Mit TCP weißt du auch, ob die Nachricht angekommen ist oder nicht.

Und in Java / Android ist TCP wesentlich einfacher zu nutzen als UDP. Einfach ein Socket aufmachen, Stream öffnen und senden. UDP braucht viel mehr Zeilen Code :)
 
Im Anhang findest du einen Einstieg in Java Sockets für TCP/UDP.

Hoffe, das hilft ein wenig weiter :)
 

Anhänge

  • java-Sockets.pdf
    103 KB · Aufrufe: 2.703
  • Danke
Reaktionen: philips0815
Danke für die Hilfe:)

Ist doch nicht so kompliziert wie angenommen.
Brauch ich den BufferedReader und Writer auch bei kleinen Datenpaketen?
 
Nimm ihn, die Referenz auf den Stream kannst du ja wegfallen lassen.
 
  • Danke
Reaktionen: philips0815
Vorsicht mit dem Thema Reader/Writer, dann werden (meist UTF-Encoded, wenn nicht weiter spezifiziert) Character (16-Bit in 8 Bit encoded) übertragen, das kann zu unerwarteten Ergebnissen auf der Gegenseite führen), im Stream werden Bytes übertragen, da ist man sich sicher was ankommt!

MfG Uwe
 
  • Danke
Reaktionen: philips0815
Zurück
Oben Unten