【发布时间】:2015-03-05 20:05:43
【问题描述】:
我尝试在我的 Golang 应用程序中使用 websockets,该应用程序由 Google 的 managed vm 提供,但我无法从 Chrome 开发者控制台中得到它:
到“ws://127.0.0.1:8080/connect”的 WebSocket 连接失败:错误 在 WebSocket 握手期间:意外的响应代码:400" 并且在我的 后端我得到:“websocket:连接头!=升级。
我的问题,托管 vm 是否支持 Golang websockets?如果是这样,将不胜感激。
【问题讨论】:
-
如果您尝试从 APP_ID.appspot.com 网址访问服务器,您可能会看到该错误。您应该通过公共 ip(或 CNAME)直接访问实例。如果在本地运行,既然你提到了 127.0.0.1,那就使用 docker 容器 ip。
-
仍然没有运气,我已经将我的应用程序部署到“生产”,更新了我的 websocket url 以指向我的appspot url(我暂时只运行一个实例),我仍然收到:“到 'ws://APPID.appspot.com/connect' 的 WebSocket 连接失败:WebSocket 握手期间出错:意外的响应代码:400”
-
您不能将appspot.com url 用于websockets。您需要使用 managed-vm 的 ip 地址直接访问服务器。使用 appspot.com 网址,您在访问应用程序之前访问了其他 Google 前端服务器。
标签: google-app-engine go