有人用 cocos2d js 和 deepstream io 吗?
我尝试使用 deepstream 客户端 js,但尝试通过网络(websocket)连接服务器时似乎失败:
这是亚行日志:
06-06 09:43:19.227:D/cocos2d-x 调试信息(26288):connectDeepStream [object Object] 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 fds
06-06 09:43:19.237: D/WebSocket.cpp(26288): 注意: mem: platform fd map: 4096 bytes
06-06 09:43:19.237:D/WebSocket.cpp(26288):注意:编译时支持 OpenSSL
06-06 09:43:19.247: D/WebSocket.cpp(26288): 注意: mem: per-conn:
376 bytes + protocol rx buf06-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 on
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 Object] 对象
06-06 09:43:19.282:D/cocos2d-x 调试信息(26288):[对象对象]
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 connectionError [object Object] 字符串
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"}" 。
代码就是这么简单。我只启动一个深流服务器并尝试登录到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 的桥梁。谢谢大家。