版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
最近在使用Cocos Creator 1.7版本开发一款棋牌游戏,在浏览器中运行正常,但在模拟器里或打包成Apk后,socket.io总是连接失败,具体提示
内容如下:
IOS没有试,估计也是一样。百度了很久,看到有人说可能是Cocos编译后的原生平台的socket.io与官方的socket.io有比较大的出入,
需要手动修改,感觉太麻烦。通过在VS Code调试客户端发现,客户端Net.js中在调用emit函数时,有一个undefined的参数没有处理导致,修改
后解决问题。
send:function(event,data){
if(this.sio.connected){
if(data != null && (typeof(data) == "object")){
data = JSON.stringify(data);
//console.log(data);
}
if (typeof(data) == "undefined") {
data = "";
}
this.sio.emit(event,data);
}
},
其中
if (typeof(data) == "undefined") {
data = "";
}
为后来添加的部分。