我正在使用计算引擎(GCE)运行带有socket.IO(Node.js)的套接字服务器
它只适用于民意调查。当我尝试使用网络客户端时,我收到以下错误代码:
WebSocket connection to 'ws://myapp-socket.appspot.com/socket.io/?EIO=3&transport=websocket&sid=Tt4uNFR2fU82zsCIAADo' failed: Unexpected response code: 400
我做错了什么?是GCE配置问题吗?
使用WebSockets时,不能在脚本中使用myapp-socket.appspot.com域。相反,您需要使用GCE实例的外部ip并直接连接到该实例,打开您可能使用的任何防火墙端口。
我相信进入appspot.com域的流量也会通过前端Web服务器,socket.io需要直接连接到服务器。
谷歌计算引擎中的虚拟机具有用于http的端口80和用于https的端口443。将这些端口用于web套接字解决了这个问题。