cocos creator 1.7 websocket android 原生连接url带参数会出错

  • Creator 版本:1.7

  • 目标平台: Android ,服务器Linux,用了swoole插件

  • 详细报错信息,包含调用堆栈:
    无法触发
    $ws->on(‘handshake’, function($request, $response){ … }
    以及
    $ws->on(‘open’, function ($ws, $request) { … }

  • 之前哪个版本是正常的 :1.6

  • 手机型号 :小米MIX2 乐视X600 360手机

  • 出现概率:100%

wsUrl: ‘ws://doll2.yrwvip.top:9601’
如果不带url参数,android和windows平台都可以正常连接websocket服务器,带了参数之后,直接触发close事件。

在web平台,一切正常
wsUrl: ‘ws://doll2.yrwvip.top:9601??openid=122222&time=1519879361&token=f407573806efe737ed570b5f6f9e2201’

附上js测试代码:

var ws = new WebSocket("ws://doll2.yrwvip.top:9601?openid=122222&time=1519872524&token=70c46a127ad9783255a947b2777a5ecf");

ws.onopen = function(evt) { 
  console.log("Connection open ..."); 
  ws.send("Hello WebSockets!");
};

ws.onmessage = function(evt) {
  console.log( "Received Message: " + evt.data);
};

ws.onclose = function(evt) {
  console.log("Connection closed.");
};

附上 解决方案