Моя клиент-серверная программа на Java не работает

Я пытаюсь создать проект клиент / сервер Java, расположенный здесь: https://github.com/garlicPasta/dotServer И клиент, как они предлагают (Android), находится здесь: https://github.com/garlicPasta/dotViewer

По сути, предполагается передавать файл 3D-графики (скажем, этот файл.ply: https://www.dropbox.com/s/dfhyy9xa5i9o2fz/testPLY.ply?dl=0) с сервера на клиент Android.

Исполняемый файл сервера .jar просмотрщик файлов и клиентов (.apk) все уже есть. Моя проблема в том, что я не могу заставить программу клиент / сервер работать. Я просто не вижу ничего в приложении для Android и даже не уверен, что они подключены. Как и предполагалось, я запускаю их сервер с:

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

А в приложении для Android я также захожу в настройки, чтобы ввести IP-адрес сервера (IP-адрес моего ноутбука). Сказать 192.168.2.10,

Может что-то не так с моими настройками?! Может кто-нибудь протестировать проект и сказать мне, могут ли они запустить и увидеть что-нибудь?

1 ответ

Решение

Настроить

Файл.ply был помещен в тот же каталог, что и сервер.jar. Я не экспериментировал с разными путями.

Команда сервера (предварительно созданный JAR):

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

Формат адреса сервера (встроенные настройки клиента Android):

    192.168.2.10:8080

вопросы

Мне удалось заставить эту настройку работать, однако было три проблемы:

  1. Ваш пример (в формате ASCII) .ply по какой-то причине не работает с клиентом Android. Мне пришлось скачать отдельный (в двоичном формате) файл.ply, чтобы увидеть его в клиенте Android.

  2. Этот заменяющий файл.ply показывал только красный для меня. Я не уверен, почему он не отображался нормально в клиенте Android, но этого было достаточно, чтобы убедиться, что у сервера и клиента было соединение. Пожалуйста, смотрите скриншот того, как это должно выглядеть в примечаниях ниже.

  3. Предварительно собранный сервер.jar по умолчанию использует порт 8080 и, похоже, не учитывает параметр -p (порт).

    Поэтому вам нужно добавить:8080 к IP (например, 192.168.2.10:8080) в настройках IP-адреса клиента Android, если вы используете текущий предварительно созданный сервер.jar.

Заметки

Чтобы убедиться, что Android-клиент подключен, вы можете просмотреть выходные данные сервера в рабочем окне для этого сервера. Если клиент Android подключен, при прокрутке сервер в режиме реального времени выводит сообщения "Исходный" и "Сжатый", касающиеся передачи данных.

Для справки вот как должен выглядеть файл.ply, который я использовал.

Другие вопросы по тегам