WebSocket connection to 'ws://www.xxxx.com/xxx/xx' failed: Error during WebSocket handshake: Unexpected response code: 200
网站绑定到了服务器,直接在服务器上访问webSocket服务是可行的,但是当我用外网访问时,就报错了,看了网上一堆评论,发现很多人都遇到这个问题都没有解决,现在我的这个问题解决了,虽然是个小问题,但是没解决之前还是蛮头疼的,所以分享给跟我一样入坑的小伙伴:
其实就是你config里面有个配置写错了:
'MAIN_SERVER'=>[
'HOST'=>'0.0.0.0',
'PORT'=>9501,
'SERVER_TYPE'=>\EasySwoole\Core\Swoole\ServerManager::TYPE_WEB_SERVER,
'SOCK_TYPE'=>SWOOLE_TCP,//该配置项当为SERVER_TYPE值为TYPE_SERVER时有效
'RUN_MODEL'=>SWOOLE_PROCESS,
'SETTING'=>[
'task_worker_num' => 1, //异步任务进程
'task_max_request'=>5,
'max_request'=>2000,//强烈建议设置此配置项
'worker_num'=>1
],
],
把 改成'SERVER_TYPE'=>\EasySwoole\Core\Swoole\ServerManager::TYPE_WEB_SOCKET_SERVER,就好了。加油吧!