Mein Java-Client-Server-Programm funktioniert nicht

494
Tina J

Ich versuche, ein Java-Client / Server-Projekt zu erstellen, das sich hier befindet: https://github.com/garlicPasta/dotServer Und der Client, wie er (Android) vorschlägt, befindet sich hier: https://github.com/garlicPasta/dotViewer

Es soll im Wesentlichen eine 3D-Grafikdatei (sagen Sie diese .ply-Datei: https://www.dropbox.com/s/dfhyy9xa5i9o2fz/testPLY.ply?dl=0 ) vom Server an den Android-Client übertragen.

Die ausführbare .jarDatei des Servers und der Viewer (. apk) Des Clients sind bereits vorhanden. Mein Problem ist, dass ich das Client / Server-Programm nicht zum Laufen bringen kann. Ich sehe auf der Android-App einfach nichts und bin mir nicht einmal sicher, ob sie verbunden sind. Wie vorgeschlagen betreibe ich ihren Server mit:

java -jar dotServer-all-1.0-SNAPSHOT.jar -f testPLY.ply 

In der Android-App kann ich auch die IP-Adresse des Servers (die IP-Adresse meines Laptops) eingeben. Sagen 192.168.2.10.

Vielleicht stimmt etwas mit meinen Einstellungen nicht ?! Kann jemand das Projekt testen und mir sagen, ob er laufen kann und etwas sieht?

0
Haben Sie die Firewall-Einstellungen auf dem Laptop überprüft? mtak vor 6 Jahren 0

1 Antwort auf die Frage

1
Anaksunaman

Konfiguration

Die .ply-Datei wurde in demselben Verzeichnis abgelegt wie die Server-JAR. Ich habe nicht mit verschiedenen Wegen experimentiert.

Serverbefehl (vorkonfiguriertes JAR) :

 java -jar dotServer-all-1.0-SNAPSHOT.jar -f example.ply 

Serveradressenformat (vorkonfigurierte Android-Client-Einstellungen) :

 192.168.2.10:8080 

Probleme

Ich konnte dieses Setup zum Laufen bringen, jedoch gab es drei Probleme:

  1. Ihre Beispieldatei (ASCII-formatiert) .ply scheint aus irgendeinem Grund nicht mit dem Android-Client zu funktionieren. Ich musste eine separate (binär formatierte) .ply-Datei herunterladen, um sie im Android-Client anzuzeigen .

  2. Diese Ersatz-.ply-Datei wurde für mich nur in rot angezeigt. Ich bin nicht sicher, warum es im Android-Client nicht normal angezeigt wurde, aber es war ausreichend, um zu überprüfen, ob Server und Client eine Verbindung hatten. Bitte sehen Sie einen Screenshot, wie es in den folgenden Anmerkungen aussehen sollte .

  3. Die vordefinierte Server-.jar-Standardeinstellung ist Port 8080 und schien den Parameter -p (Port) nicht zu berücksichtigen.

    Sie müssen also: 8080 an die IP-Adresse (z. B. 192.168.2.10:8080) in den IP-Einstellungen des Android-Client-Servers anhängen, wenn Sie die aktuelle vordefinierte Server-.jar-Datei verwenden.

Beispiel-Image für IP-Einstellungen des Android-Client-Servers

Anmerkungen

Um zu bestätigen, dass der Android-Client verbunden ist, können Sie die Serverausgabe im laufenden Fenster dieses Servers anzeigen. Wenn der Android-Client verbunden ist und beim Scrollen ein Bildlauf durchführt, gibt der Server in Echtzeit "Original" - und "Compressed" -Meldungen aus, die die Datenübertragung betreffen.

Bild der Serverausgabe beim Scrollen durch die Client-Android-Schnittstelle

Als Referenz hier ist das, was die .ply Datei, die ich verwenden, sollte aussehen.

Screenshot der Ply Viewer-Ply-Datei

Danke vielmals. Ich habe das Ganze schon einmal gemacht, aber es scheint, als ob sich die Punktwolke irgendwo auf dem Bildschirm versteckte! Kannst du auch einen Screenshot posten? Es zeigt alles in rot für mich. Tina J vor 6 Jahren 0
Herzlich willkommen. =) Ich habe meine Antwort mit einem Screenshot der sekundären .ply-Datei aktualisiert, wie sie aussehen sollte. Das gleiche Problem hatte ich auch im Android-Client in Rot. Entschuldigung, dass ich das ursprünglich nicht erwähnt habe. Anaksunaman vor 6 Jahren 0
Vielen Dank. Ja, ich weiß nicht warum es rot aussieht. Ihre Github-Seite zeigt die 3D-Modelle in Farbe. Ein Grund dafür, dass meine .ply nicht angezeigt wird, ist, dass meine ASCII-Formatierung war, während diese eine binäre ist. Tina J vor 6 Jahren 1
Das einzige, was ich sah, war, dass ihre Beispielzeile zum Starten des Servers eine .nvm-Datei enthielt. Vielleicht sind .ply-Dateien aus irgendeinem Grund eine Schwachstelle für den Server / Viewer. = / Anaksunaman vor 6 Jahren 1