You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GCE部署PHP WebSocket服务出现1006无原因错误问题咨询

问题原因定位

核心问题:前端WebSocket连接地址配置错误

你当前client.html中写死了连接地址为ws://127.0.0.1:8080,127.0.0.1是本地回环地址,永远指向运行浏览器的设备本身:

  • 若你在本地电脑直接打开这个html文件,请求会发往你自己电脑的8080端口,自然无法连接到GCE上的WebSocket服务
  • 若你通过访问GCE的Apache服务打开这个页面,请求还是会发往访问者本地的8080端口,不会路由到GCE服务端

修复方案

  1. 直接替换连接地址:将client.html中WebSocket初始化代码改为你的GCE公网IP,示例:
var ws = new WebSocket("ws://<你的GCE公网IP>:8080");

你提到的公网IP为*.62,对应替换即可。
2. 通用适配方案:如果需要兼容不同部署环境,可动态获取当前页面的域名自动拼接地址,不用每次手动修改:

var ws = new WebSocket("ws://" + window.location.hostname + ":8080");

可选优化项

你已经将server.php的监听地址从localhost改为GCE内网IP,这个操作是正确的。如果需要更通用的配置,可直接监听0.0.0.0,这样所有网卡的请求都能正常接收,无需每次更换实例内网IP就修改代码:

$ws = new WebSocket("0.0.0.0", "8080");

内容的提问来源于stack exchange,提问作者Sanji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:30:00