Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在GAE上运行Websocket_Javascript_Node.js_Google App Engine_Websocket_Google Cloud Platform - Fatal编程技术网

Javascript 在GAE上运行Websocket

Javascript 在GAE上运行Websocket,javascript,node.js,google-app-engine,websocket,google-cloud-platform,Javascript,Node.js,Google App Engine,Websocket,Google Cloud Platform,我正在尝试使用websocket调整我的应用程序以在GAE上运行,但阅读文档后,我没有找到解决这个问题的好方法 使用这样一个非常简单的应用程序: 这是我尝试使用的示例演示。但是当我尝试连接到我的websocket时,我收到了这个错误 按照请求的图像进行操作 不能有传入的套接字连接: 不能创建侦听套接字;您只能创建出站 插座 为了使用WebSocket,您必须将Google托管的VM与自定义运行时一起使用 一旦运行,您将需要通过ip或cname直接访问该服务器。你不能进入appspot.com

我正在尝试使用websocket调整我的应用程序以在GAE上运行,但阅读文档后,我没有找到解决这个问题的好方法

使用这样一个非常简单的应用程序:

这是我尝试使用的示例演示。但是当我尝试连接到我的websocket时,我收到了这个错误

按照请求的图像进行操作


不能有传入的套接字连接:

不能创建侦听套接字;您只能创建出站 插座


为了使用WebSocket,您必须将Google托管的VM与自定义运行时一起使用


一旦运行,您将需要通过ip或cname直接访问该服务器。你不能进入appspot.com域。

经过了很多小时的学习和测试,谷歌的一位朋友向我展示了一个解决这个问题的方法! 谢谢蒂亚戈·阿万西尼

那么解决办法是:

第一步是使用托管虚拟机。(回购协议使用它。) 但目标是将管理从谷歌转向用户。执行此操作时,下一步是为应用程序创建静态IP。在我的情况下,我使用端口3000为我的Websocket提供服务,请随意更改。 在我的app.yaml上,我也像这样启用此端口:

network:
  forwarded_ports: ["3000"]
请记住在“网络>>默认>>防火墙”中的代理上启用此端口

如果通过gcloud部署应用程序,则需要在应用程序上再次启用用户管理和静态IP


我将向谷歌云平台发送此回购协议,作为在AppEngine上使用WebSocket的样本。

更新:2019年2月4日

WebSocket可用于您的App Engine灵活环境应用程序,无需特殊设置。请查看我们的文档以了解更多信息:| |

您必须添加到您的
app.yaml

network:
  session_affinity: true

除了在网络配置中打开该端口外,还需要在Dockerfile中转发该端口。您可以在以下网址查看我的回购:我知道,我更新了我的readme.md关于我的回购样本。感谢您的回答=DI已经能够使用您建议的方法连接到GAE上的wamp服务器,但我不需要将我的实例切换到用户管理。支持WebSocket。