0

I am trying to build a Java client/server project located at here: https://github.com/garlicPasta/dotServer And the client as they suggest (Android) located here: https://github.com/garlicPasta/dotViewer

It is essentially supposed to transmit a 3D graphics file (say this .ply file: https://www.dropbox.com/s/dfhyy9xa5i9o2fz/testPLY.ply?dl=0) from the server to the Android client.

The server's executable .jar file and client's viewer (.apk) are all already there. My problem is that I can not make the client/server program to work. I just don't see anything on the Android app and I'm not even sure if they are connected. As suggested, I run their server with:

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

And on the Android app, I also go to settings to input the server's IP address (my laptop's IP address). Say 192.168.2.10.

Maybe something is wrong with my settings?! Can someone test the project and tell me if they are able to run and see anything?

1
  • Did you check the firewall settings on the laptop?
    – mtak
    Jun 25, 2017 at 8:34

1 Answer 1

1

Setup

The .ply file was placed in the same directory as the sever .jar. I did not experiment with different paths.

Server Command (Pre-Built JAR):

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

Server Address Format (Pre-Built Android Client Settings):

    192.168.2.10:8080

Issues

I was able to get this setup working. However, there were three issues:

  1. Your example (ASCII formatted) .ply file does not seem to work with the Android client for some reason. I had to download a separate (binary formatted) .ply file in order to see it in the Android client.

  2. This substitute .ply file only showed in red for me. I am not sure why it did not appear normally in the Android client but it was sufficient to verify that the server and client had a connection. Please see the screenshot of what it should look like in the notes below.

  3. The pre-built server .jar defaults to port 8080 and did not seem to honor the -p (port) parameter.

    So you need to append :8080 to the IP (e.g. 192.168.2.10:8080) in the Android client Server IP settings if you are using the current pre-built server .jar.

Android Client Server IP Settings Example Image

Notes

To confirm that the Android client is connected, you can watch the server output in the running window for that server. If the Android client is connected, when you scroll around, the server will output "Original" and "Compressed" messages in real-time regarding the data transfer taking place.

Image Of Server Output From Scrolling Through The Client Android Interface

For reference here is what the .ply file I used should have looked like:

Ply Viewer Ply File Screenshot


Software

Potree ("free open-source WebGL based point cloud renderer for large point clouds")

4
  • Thanks a lot. I did the whole thing before, but it looks like the point cloud was hiding somewhere in the screen! Can you post a screenshot as well? It shows all in red for me.
    – Tina J
    Jun 25, 2017 at 17:15
  • Welcome. =) I updated my answer with a screenshot of the secondary .ply file as it should look. I had the same issue of it showing in red in the Android client as well. Sorry I didn't mention that originally. Jun 25, 2017 at 17:40
  • 1
    Thanks. Yes I don't know why it looks all red. Their Github page shows the 3D models in color. One reason for not showing my .ply is because mine was ASCII formatted, while this one is binary.
    – Tina J
    Jun 25, 2017 at 18:07
  • 1
    The only thing I saw was that their example line to start the server included an .nvm file. Maybe .ply files are a weakness for the server/viewer for some reason. =/ Jun 25, 2017 at 18:27

Not the answer you're looking for? Browse other questions tagged .