Wie implementiert man einen HTTP-server auf android
Ich habe zwei android-Anwendungen auf dem gleichen LAN zur Verfügung gestellt von WIFI :
- App (Ein), öffnet eine socket auf port 8033
- App (B) dass die Verwendung HttpClient-Zugang (A) auf port 8033
Wie Sie machen es möglich, dass (A) kann die POST-und GET-requests auf (B)?
Was die URL, die verwendet wird, indem Sie (A) zum Zugriff auf (B) aussieht ?
Danke an Alle.
- Seine Frage ist nicht, ob ein Kunde reden kann, auf einen server, sondern vielmehr, ob HttpClient kommunizieren können, um einen server-socket, der seine andere app hören.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie verwechseln zwei verschiedene Ebene der Vernetzung Kommunikation.
Stufe 4 : TCP-Verbindung zwischen zwei sockets.
Eine logische Rohr zwischen zu Seite (können einzeln(zwei-Prozess?) oder zwei verschiedenen Computern)
nur in Verbindung Umgang mit Daten, die verarbeitet werden auf dieser Ebene
Level 7 : Browser /Application-Server verwendet, insbesondere Kommunikation "Sprache" zum Austausch high-level-Daten (Datei -, Bilder -, audio ..) und erfolgt auf dieser Ebene.
Ihre Frage ist etwa zu öffnen ein Socket (Stufe 4) und einem client, sprechen Sie mit es mit einem HTTP-Protokoll (level 7).
Sie sind also miss die Lücke zu füllen socket der hörenden Seite zum behandeln von HTTP-Protokoll
Kann eine java-web-server-Implementierung kann Ihnen dabei helfen.
Java-EE-Weg, um HTTP-server : "Tiny Java Web Server" @ http://tjws.sourceforge.net/, die Ihnen helfen können, für das, was Sie suchen
einer "Apache" Weg, um HTTP-server http://www.androiddevblog.net/android/a-bare-minimum-web-server-for-android-platform
sehen
http://en.wikipedia.org/wiki/OSI_model#Layer_3:_Network_Layer
mehr vollständige Sicht auf diese Kommunikationsschicht
Lauscht auf einem port und Annahme von socket-verbindungen ist nicht genug, zu dienen, die Daten zurück zu HttpClient. Steckdosen in-Effekt bieten eine physikalische Leitung, wissen aber nichts über das format der Daten, die fließt entlang dieser Leitung. Wenn Sie auf mit HttpClient, dann müssen Sie Ihre server-Anwendung verstehen das HTTP-Protokoll (oder zumindest einen sehr grundlegenden Teil davon).
Wenn alles, was Sie brauchen, ist zwei Prozesse kommunizieren, die in irgendeiner Weise, Sie können es besser, dass Ihre server-Anwendung einen Dienst und dann Ihre client-app befragen, diesen Dienst für die erforderlichen Daten.
Ich war auf der Suche nach der gleichen Lösung und fand NanoHTTPD - eine extrem einfache HTTP-request-handling der server-Klasse. Finden Sie die Quelle und sehr einfach zu verstehen, die Proben bei https://github.com/NanoHttpd