最近搭了个pomelo+cocos2d-js的测试项目,一切快完的时候被卡住了~~在pc端运行和访问时一切正常,用android手机的自带浏览器访问也正常,当用微信和QQ浏览器访问的时候后台服务器报could not find handle invalid data package异常。
看前端控制台发现
var route = ‘gate.gateHandler.queryEntry’;
var uid = “uid”;
var rid = “rid”;
var username = “username”;
pomelo.init({ --是没问题,能连上服务器
host: “192.168.1.101”,
port: 3014,
log: true
}, function() {
pomelo.request(route, { --因该是这里请求的时候,数据包类型异常(初步分析)
uid: uid
}, function(data) {…}
然后去后台看报异常的文件
chatofpomelo-websocket-master\game-server\node_modules\pomelo\lib\connectors\common\handler.js
handlers = handleHandshake;
handlers = handleHandshakeAck;
handlers = handleHeartbeat;
handlers = handleData;
var handle = function(socket, pkg) {
console.log(pkg.type); – 用微信QQ浏览器访问的时候,输出的是“117”,
为什么啊!!而handlers的length只有上面4个
var handler = handlers; – 就是这里找不到
if(!!handler) {
handler(socket, pkg);
} else {
logger.error(‘could not find handle invalid data package.’);
socket.disconnect();
}
};
后来把pomelo-cocos2d-js替换成build.js 没混淆编译前微信是能访问了 但编译后就报require.resolve is not a function 纠结啊