Cocos2d js (Cocos2d x 3.14) на Android с Deepstream io

Кто-нибудь использует cocos2d js с deepstream io?

Я пытался использовать js-клиент Deepstream, но при попытке подключиться к серверу через сеть (веб-сокет) он не работает:

это журнал adb:

06-06 09:43:19.227: D/cocos2d-x отладочная информация (26288): connectDeepStream [объект объекта] PlayerActions.login.request@assets/src/modules/Actions/Player.js:22:13,

06–06 09:43:19.232: D/WebSocket.cpp(26288): запуск потока WebSocket, вспомогательный экземпляр: 0x97987760

06-06 09:43:19.237: D/WebSocket.cpp(26288): ВНИМАНИЕ: Начальный уровень ведения журнала 911

06-06 09:43:19.237: D/WebSocket.cpp(26288): УВЕДОМЛЕНИЕ. Версия Libwebsockets: 2.1.0 [email protected]

06-06 09:43:19.237: D/WebSocket.cpp(26288): ВНИМАНИЕ: IPV6 скомпилирован и включен

06-06 09:43:19.237: D/WebSocket.cpp(26288): ВНИМАНИЕ: поддержка libev не скомпилирована в

06-06 09:43:19.237: D/WebSocket.cpp(26288): ВНИМАНИЕ: поддержка libuv не скомпилирована в

06-06 09:43:19.237: D/WebSocket.cpp(26288): ВНИМАНИЕ: потоки: 1 каждый 1024 fds

06-06 09:43:19.237: D/WebSocket.cpp(26288): ВНИМАНИЕ: память: карта fd платформы: 4096 байт

06-06 09:43:19.237: D/WebSocket.cpp(26288): ВНИМАНИЕ: Скомпилировано с поддержкой OpenSSL

06-06 09:43:19.247: D/WebSocket.cpp(26288): ВНИМАНИЕ: память: per-conn:
376 байт + протокол rx buf

06-06 09:43:19.247: D/WebSocket.cpp(26288): протокол: ws, хост: ...*, порт: 3512, путь: дипстрим

06-06 09:43:19.247: D/WebSocket.cpp(26288): УВЕДОМЛЕНИЕ. Создание порта Vhost по умолчанию -1, протоколы 1, IPv6 включен

06–06 09:43:19.252: D/WebSocket.cpp(26288): ВНИМАНИЕ: lws_protocol_init

06–06 09:43:19.252: D/WebSocket.cpp(26288): WebSocket (0xae824ed0) Необработанное событие веб-сокета: 32

06–06 09:43:19.252: D/WebSocket.cpp(26288): WebSocket (0xae824ed0) Необработанное событие веб-сокета: 29

06–06 09:43:19.257: D/WebSocket.cpp(26288): WebSocket (0xae824ed0) Необработанное событие веб-сокета: 24

06-06 09:43:19.267: D/WebSocket.cpp(26288): WebSocket (0xae824ed0) onConnectionError, состояние: 0 ...

06-06 09:43:19.267: D/WebSocket.cpp(26288): WebSocket (0xae824ed0) onConnectionClosed, состояние: 2 ...

06-06 09:43:19.267: D/WebSocket.cpp(26288): onConnectionClosed, WebSocket (0xae824ed0) закрывается сервером.

06-06 09:43:19.267: D/WebSocket.cpp(26288): WebSocket (0xae824ed0) onConnectionClosed ВЫПОЛНЕНО!

06–06 09:43:19.267: D/WebSocket.cpp(26288): WebSocket (0xae824ed0) Необработанное событие веб-сокета: 45

06–06 09:43:19.267: D/WebSocket.cpp(26288): WebSocket (0xae824ed0) Необработанное событие веб-сокета: 33

06-06 09:43:19.267: D/WebSocket.cpp(26288): WebSocket (0xae824ed0) onConnectionClosed, состояние: 3 ...

06-06 09:43:19.282: Информация об отладке D/cocos2d-x (26288): объект _onError [object Object]

06-06 09:43:19.282: Информация об отладке D/cocos2d-x (26288): [объект Объект]

06-06 09:43:19.282: Информация об отладке D/cocos2d-x (26288): {"тип":"ошибка"}

06-06 09:43:19.287: D/WebSocket.cpp(26288): В деструкторе WebSocket (0xae824ed0)

06–06 09:43:19.287: D/WebSocket.cpp(26288): перед присоединением к потоку ws

06-06 09:43:19.292: D/WebSocket.cpp(26288): ВНИМАНИЕ: lws_context_destroy

06–06 09:43:19.292: D/WebSocket.cpp(26288): выход из потока WebSocket, вспомогательный экземпляр: 0x97987760

06-06 09:43:19.292: D/WebSocket.cpp(26288): после присоединения к потоку ws

06-06 09:43:19.317: D/cocos2d-x отладочная информация (26288): C connectionError [object Object] string

06-06 09:43:19.317: информация об отладке D/cocos2d-x (26288): ошибка: строка

06-06 09:43:19.317: Информация об отладке D/cocos2d-x (26288): [объект Объект]

06-06 09:43:19.317: информация об отладке D/cocos2d-x (26288): ошибка подключения

06–06 09:43:19.317: информация об отладке D/cocos2d-x (26288): C

Я пытался зарегистрировать содержимое ошибки, но это только "{"type":"error"}".

Код такой простой. Я только запускаю сервер Deepstream и пытаюсь войти на сервер на клиенте Android (js cocos2d-js)

как это :

this.client = deepstream(CCDefine.DeepStreamServer).login({username: arg.username, password: arg.password},function(success,data){


cc.log(success,data)

        if(success){
            cc.log('Deep stream connect success')

        }else{
            cc.log('Deep stream connect false')
        }
    })

Я узнаю, что кокосы используют libwebsockets без libuv, в то время как deepstream использует это . может проблема? Я пытался скомпилировать libwebsockets с помощью libuv для Android, но мне это не удалось.

Сейчас я решаю эту проблему, используя SDK для Deepstream java и создаю мост от java к js. Спасибо вам всем.


person InnerPeace080    schedule 06.06.2017    source источник


Ответы (1)


Трудно сказать, в чем здесь проблема, но похоже, что API WebSocket может быть несовместимым. Не могли бы вы попробовать зарегистрировать содержимое объекта ошибки в обработчике ошибок Deepstream? Если бы вы могли опубликовать небольшой пример кода, это тоже было бы здорово.

person John Diamond    schedule 08.06.2017
comment
спасибо за ответ, я решил это, используя Deepstream java sdk, и сделал мост от java к js. Спасибо - person InnerPeace080; 05.11.2018