【问题标题】:Cocos2d js (Cocos2d x 3.14) on android with deepstream io带有deepstream io的android上的Cocos2d js(Cocos2d x 3.14)
【发布时间】:2017-06-06 02:57:36
【问题描述】:

有人用 cocos2d js 和 deepstream io 吗?

我尝试使用 deepstream 客户端 js,但尝试通过网络(websocket)连接服务器时似乎失败:

这是 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 james@James-Chen.local-v3.4-139-gbdcf7f8

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 帧

06-06 09:43:19.237: D/WebSocket.cpp(26288): 注意: mem: platform 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,路径:deepstream

06-06 09:43:19.247:D/WebSocket.cpp(26288):注意:创建 Vhost 'default' 端口 -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) 未处理的 websocket 事件:32

06-06 09:43:19.252: D/WebSocket.cpp(26288): WebSocket (0xae824ed0) 未处理的 websocket 事件:29

06-06 09:43:19.257: D/WebSocket.cpp(26288): WebSocket (0xae824ed0) 未处理的 websocket 事件: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) 未处理的 websocket 事件:45

06-06 09:43:19.267: D/WebSocket.cpp(26288): WebSocket (0xae824ed0) 未处理的 websocket 事件: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 对象] 对象

06-06 09:43:19.282: D/cocos2d-x 调试信息(26288): [object Object]

06-06 09:43:19.282: D/cocos2d-x 调试信息(26288): {"type":"error"}

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 连接错误 [object 对象] 字符串

06-06 09:43:19.317:D/cocos2d-x 调试信息(26288):错误:字符串

06-06 09:43:19.317: D/cocos2d-x 调试信息(26288): [object Object]

06-06 09:43:19.317: D/cocos2d-x 调试信息(26288): connectionError

06-06 09:43:19.317:D/cocos2d-x 调试信息(26288):C

我试图记录错误的内容,但它只是 "{"type":"error"}" 。

代码就是这么简单。我只启动了一个深流服务器并尝试在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')
        }
    })

我发现 cocos 使用没有 libuv 的 libwebsockets 而 deepstream 使用它。可以吗?我试图用 libuv for android 编译 libwebsockets 但我失败了。

现在我目前通过使用 deepstream java SDK 解决了这个问题,并建立了从 java 到 js 的桥梁。 谢谢大家。

【问题讨论】:

    标签: android cocos2d-js deepstream.io cocos2d-x-3.x


    【解决方案1】:

    很难判断问题出在哪里,但看起来 WebSocket API 可能不兼容。 您可以尝试在 deepstream 错误处理程序中记录错误对象的内容吗?如果您可以发布一个小的代码示例,那也很棒。

    【讨论】:

    • 感谢您的回答,我已经通过使用 deepstream java sdk 解决了它,并建立了从 java 到 js 的桥梁。谢谢
    猜你喜欢
    • 2014-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 2012-12-28
    相关资源
    最近更新 更多