cocos2d / cocos2d-js

cocos2d-x for JS
http://www.cocos2d-x.org
MIT License
1.86k stars 490 forks source link

Packing App run SocketIO Failure #470

Open bigflower opened 10 years ago

bigflower commented 10 years ago

代码:

    var SocketIO = SocketIO || io; // 打包APP后 这句代码 以下的代码貌似跟屏蔽了一样不会执行,PC 浏览器是正常的

    var label = cc.LabelTTF.create("SocketIO", "Arial", 48);
    label.setPosition(cc.p(winsize.width / 2, winsize.height / 2));
    this.addChild(label, 10);

    var sioclient = SocketIO.connect("ws://127.0.0.1:3010", {"force new connection" : true});
    sioclient.on("connect", function() {
        label.setString("OK");
    });

机型:小米2S 引擎:Cocos2d-js 3.0 beta 环境:PC 浏览器 运行 SocketIO 正常 环境:打包APP后手机运行失效,而且 var SocketIO = SocketIO || io; 下面的代码也不会执行(貌似跟屏蔽了一样),不知道这是什么情况 注:项目配置文件 project.json 里已引入socketio模块 "modules" : ["cocos2d","extensions","socketio"],

pandamicro commented 10 years ago

I think you haven't correctly include SocketIO in your project, please refer to this document: http://www.cocos2d-x.org/docs/manual/framework/html5/v2/jsb/jsb-extension/zh

bigflower commented 10 years ago

cocos2d-js 3.0 beta AppDelegate.cpp 文件本身就包含

include "network/jsb_websocket.h"

include "network/jsb_socketio.h"

这两个头文件和 sc->addRegisterCallback(register_jsb_websocket); sc->addRegisterCallback(register_jsb_socketio); 这两个,但打包后手机里运行 SocketIO无效

打包后 WebSocket 手机里运行是没问题的 就 SocketIO 不行