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

445
Tina J

Я пытаюсь создать проект клиент / сервер 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.

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

0
Вы проверяли настройки брандмауэра на ноутбуке? mtak 7 лет назад 0

1 ответ на вопрос

1
Anaksunaman

Настроить

Файл .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 Client Server IP Settings Example Image

Заметки

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

Image Of Server Output From Scrolling Through The Client Android Interface

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

Ply Viewer Ply File Screenshot

Большое спасибо. Я делал все это раньше, но похоже, что облако точек скрывалось где-то на экране! Можете ли вы также опубликовать скриншот? Это показывает все красным для меня. Tina J 7 лет назад 0
Добро пожаловать. =) Я обновил свой ответ скриншотом вторичного файла .ply, как он должен выглядеть. У меня была та же самая проблема того, что он показывал красным в клиенте Android также. Извините, я не упомянул об этом изначально. Anaksunaman 7 лет назад 0
Благодарю. Да, я не знаю, почему все выглядит красным. На их странице Github показаны 3D-модели в цвете. Одна из причин, по которой мой файл .ply не отображается, заключается в том, что мой файл был отформатирован в формате ASCII, а этот двоичный. Tina J 7 лет назад 1
Единственное, что я увидел, было то, что их пример строки для запуска сервера содержал файл .nvm. Возможно, файлы .ply по какой-то причине являются слабостью для сервера / программы просмотра. знак равно Anaksunaman 7 лет назад 1