SKART1 / GEOTRACERT

Server and client (web front) for geotracert service
Other
6 stars 0 forks source link

jWebSockets + websockets #37

Closed SKART1 closed 10 years ago

SKART1 commented 10 years ago

Ксения, вместе @Lorygoth, пожалуйста, попробуйте установить взаимодействие этими сокетами - хотя бы обменяйтесь примитивными сообщениями!

И отписывайтесь о степени выполнения

SKART1 commented 10 years ago

@qqq123 отпишись что у тебя там за проблемы - будем коллективно пробовать.

SKART1 commented 10 years ago

@qqq123 отпишись пожалуйста о статусу работы.

lorygoth commented 10 years ago

По сокетам постараюсь отписаться сегодня вечером.

qqq123 commented 10 years ago

Кажется, разобралась.

Например, пытаюсь создать класс слушателя. Код беру здесь: http://jwebsocket.org/documentation/User-Guide/jwebsocket-listeners-server-application-logic

Получаю следующие ошибки: image image

Проблема состоит в том, что нетбинсу не удается найти интерфейс WebSocketTokenListener и классы WebSocketEvent, JWebSocketConstants.

Все модули с сайта http://jwebsocket.org/downloads/jwebsocket-latest-versions скачаны. Из старых весрий - только бета-сборки. Переменная JWEBSOCKET_HOME прописана.

В документации http://jwebsocket.org/documentation/JavaDocs/jwebsocketserver : вместо класса WebSocketTokenListener есть WebSocketServerTokenListener, вместо WebSocketEvent есть WebSocketServerTokenEvent вместо JWebSocketConstants есть JWebSocketServerConstants

Но непонятно, почему тогда в коде все-таки есть упоминается метод WebSocketServerTokenEvent: @Override public void processOpened(WebSocketServerEvent wsse) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. }

И осталась проблема с отсутствием метода put в классе lResponse. Если это закомментировать, то все вроде ок

SKART1 commented 10 years ago

1). Создай свою ветку 2). Выложи в нее код с проблемой - я не могу диагностировать проблему дистанционно, не имея кода.

qqq123 commented 10 years ago

@321SKART123 проблемы решены, пишу код. надеюсь закончить завтра или в понедельник

SKART1 commented 10 years ago

Очень хорошо!) Будем ждать)

SKART1 commented 10 years ago

@qqq123 скинь пожалуйста ссылку откуда ты взяла образец кода

qqq123 commented 10 years ago

Часть отсюда: https://github.com/GoodSky/OnlineBattleship/blob/master/BackEnd/JHost.java часть отсюда: http://www.sitepoint.com/introduction-to-the-html5-websockets-api/ но, по сути, это одно и то же

SKART1 commented 10 years ago

Всё дело было в том что для запуска сервера необходимо было скормить файл jWebSocket.xml

Весь код был взять из примера в исходниках и всё заработало. @dm-kiselev протестируй пожалуйста на линуксе запуститься ли в debug/run режиме

qqq123 commented 10 years ago

@321SKART123 у меня пишет то же самое исключение, не вижу никаких изменений в работе сервера

SKART1 commented 10 years ago

Вы на той ветке работаете?

qqq123 commented 10 years ago

@321SKART123 на ArtJWebSock

SKART1 commented 10 years ago

@qqq123 проверяй новую версию - она тоже не компилиться но падает на отсутсвии конфигурационного файла

1). Вычисти папку .m2 2). Через нетбинс выкачай все зависимости

qqq123 commented 10 years ago

@321SKART123 у меня новая версия компилится, 1) и 2) не помогли

SKART1 commented 10 years ago

что значит не компилиться? Лог ошибок. Я не теолепат.

У @dm-kiselev компилиться

qqq123 commented 10 years ago

@321SKART123 я и говорю, что компилится, это ты написал "она тоже не компилиться"

SKART1 commented 10 years ago

@qqq123 извини - действительно моя ошибка)

Вообщем там надо с одной переменной разобраться и всё заработает

SKART1 commented 10 years ago

@qqq123 извини еще раз))

qqq123 commented 10 years ago

@321SKART123 да ничего) Но у меня на строке JWebSocketFactory.stop(); срабатывает исключение Exception in thread "main" java.lang.NoClassDefFoundError: org/jwebsocket/kit/WebSocketException хотя строка JWebSocketFactory.start(); проходит нормально

SKART1 commented 10 years ago

Так стоп - а он у тебя запускеться? Можешь скинуть блок там где он стартует?

qqq123 commented 10 years ago

да не поняла про какой блок ты говоришь

SKART1 commented 10 years ago

@qqq123 Мы с @dm-kiselev вроде разобрались -жди код минут через 20 на тестирование

qqq123 commented 10 years ago

значит так. JWebSocketFactory.start(); вообще не вызывается, т.к. не выполняются заходы в

             try {
        // start the jWebSocket Server
        JWebSocketFactory.start();
      System.out.println("JWS.start\n");

        TokenServer lServer = (TokenServer)JWebSocketFactory.getServer("ts0");
        System.out.println("ts0\n");
        //TokenServer lServer = JWebSocketFactory.getTokenServer();
        if( lServer != null ) {
          // and add the sample listener to the server's listener chain
            System.out.println("lServer!=null\n");
          lServer.addListener(new JWebSocketTokenListenerSample());
        }

        // run server until shut down request       
   } 
    catch (Exception lEx) {
        System.out.println("Exc lEx");
            System.out.println(
                            lEx.getClass().getSimpleName()
                            + " on starting jWebSocket server: "
                            + lEx.getMessage());
    } 
qqq123 commented 10 years ago

Хотя если убрать finally там где JWebSocketFactory.stop();, то исключение Exception in thread "main" java.lang.NoClassDefFoundError: org/jwebsocket/kit/WebSocketException будет срабатывать на JWebSocketFactory.start();

SKART1 commented 10 years ago

@qqq123 @dm-kiselev тестируем! Отписываемся

qqq123 commented 10 years ago

@321SKART123 у меня собралось, но не выполнялось. Вручную подгрузила зависимости jWebSocketEventsPlugIn и jWebSocketRPCPlugIn, запустилось на выполнение, но в браузере получаю "The server has not found anything matching the request URI". Если судить по логам, то передается только index.html без скриптов

SKART1 commented 10 years ago

Я не понял -что значит "Вручную подгрузила зависимости jWebSocketEventsPlugIn"?

Ты строила главный проект или только сервер?

qqq123 commented 10 years ago

@321SKART123 А, ну ещё бы. Андрей что-то исправил и убил папку клиента в \GEOTRACERTServer\target

qqq123 commented 10 years ago

@321SKART123 вот так подгружала: image в pom.xml они прописаны не были

строила главный проект

SKART1 commented 10 years ago

Ненадо так делать!!! 1). Вычисти репозиторий .m2 2). Запусти клинИбилд ГЛАВНОГо проекта

qqq123 commented 10 years ago

@321SKART123 я так и делала, не помогало

SKART1 commented 10 years ago

Откуда у тебя в зависимостях проекты?!

SKART1 commented 10 years ago

там только *.jar

qqq123 commented 10 years ago

@321SKART123 Туда подгружаются и jWebSocketServer, jWebSocketSamples

SKART1 commented 10 years ago

1). Удали всё и репозиторий и проект 2). Выкачай заново - собери заново из главного проекта

qqq123 commented 10 years ago

@321SKART123 я так делала уже раз 5

qqq123 commented 10 years ago

@321SKART123 А jWebSocketServer и jWebSocketSamples были прописаны в зависимостях ещё в твоем проекте, их я не добавляла

SKART1 commented 10 years ago

У меня все собираеться.

qqq123 commented 10 years ago

Ну у меня тоже все собирается

SKART1 commented 10 years ago

Без ручного добавления зависимостей Так в чем проблема?

SKART1 commented 10 years ago

Обнови репозиторий и перекачай все - скинь скриншот зависимостей сервера

qqq123 commented 10 years ago

Проблема в том, что Андрей удалил папку клиента в \GEOTRACERTServer\target

SKART1 commented 10 years ago

Она туда добавляеться при компиляции ГЛАВНОГО СУПЕР проекта!!!!!!

SKART1 commented 10 years ago

Хотя...

qqq123 commented 10 years ago

@321SKART123 но ведь все остальные папки копируются в \target.. Там есть и новая папка socketConfig, а папка клиента пропала

SKART1 commented 10 years ago

@qqq123 выкачай последнюю версию и пересобери проект из ГЛАВНОГО супер проекта

SKART1 commented 10 years ago

Она на месте

SKART1 commented 10 years ago

Скачай ПОСЛЕДНЮЮ версию и запускай из СУПЕР проекта

qqq123 commented 10 years ago

@321SKART123 Скомпилируй заново и проверь, есть ли у тебя в \GEOTRACERTServer\target папка clientFolder