如何在 GAE 之上运行 WebSocket 服务器?

2024-01-08

如何在 Google App Engine 上运行 WebSocket 服务器?是否可以?有可能吗?


是否可以?

No.

您现在不能,因为 GAE 不允许通用入站套接字连接。每个请求也被限制为 30 秒,但这可以通过自动重新连接和会话跟踪轻松解决。

有可能吗?

大概。

Google 一直是 WebSockets 标准的最大(主要)推动者之一。如果他们在未来某个时候不将对其的支持推入 GAE,我会感到惊讶。请注意,WebSockets 草案标准仍在不断变化,因此在标准更加可靠之前,Google 可能会犹豫是否添加支持。

以下是 GAE 上 WebSockets 支持的错误:http://code.google.com/p/googleappengine/issues/detail?id=2535 http://code.google.com/p/googleappengine/issues/detail?id=2535

请注意,谷歌员工表示它不在路线图上,但他们知道它会很有用。这与您从谷歌获得的有关尚未宣布的功能的积极答案差不多。我建议将您的声音添加到该错误中以支持 WebSocket。它不会造成伤害。

此外,根据您的应用程序,您可以考虑 Channel API,它可能很快就会获得 GAE 支持:

  • http://googleappengine.blogspot.com/2010/05/app-engine-at-google-io-2010.html http://googleappengine.blogspot.com/2010/05/app-engine-at-google-io-2010.html
  • http://bitshaq.com/2010/09/01/sneak-peak-gae-channel-api/ http://bitshaq.com/2010/09/01/sneak-peak-gae-channel-api/

编辑(2015):Channels API 现已可用(已经有一段时间了)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 GAE 之上运行 WebSocket 服务器? 的相关文章

随机推荐

  • 使用 ndk clang 3.4/3.5 编译 __thread 没有运气

    我试图在这个小程序中使用 thread 但没有运气 知道 ndk 10c clang 3 4 3 5 是否支持此 TLS 相同的程序可以使用 ndk gcc 4 8 4 9 和本机 clang gcc 编译器正常编译 这是程序和编译行 th
  • 将 Firebase 导出到 BigQuery 的数据扁平化为 1 行 = 1 个事件的表(嵌套数据中的嵌套数据)

    我想我可以通过提出一个更简单的问题并引用一个更简单的数据示例来获得我需要的东西here https stackoverflow com questions 38839559 flatten bigquery nested field con
  • C++14 中标准布局类的定义

    A 标准布局class 在 C 14 中的 class 7 中定义 如下 重点是我的 A 标准布局class 是一个类 7 1 没有非标准布局类型的非静态数据成员 类 或此类类型的数组 或引用 7 2 没有虚函数 10 3 也没有虚基类 1
  • 如何通过google帐户快速检查用户是否已经在firebase中注册

    我想为用户执行一个操作首次登录 注册 使用谷歌帐户和另一个操作 如果用户之前已经登录过 如果某个用户已经并且仍然使用他们的 Google 帐户登录 我们可以使用这行代码 Auth auth addStateDidChangeListener
  • JSON.Net读取错误

    我正在尝试使用 Json Net 解析一些 JSON 数据 这是我的数据 UIDClan 1 UIDKnjiga 1 Naslov Title1 DatumZaKada 2013 08 09 00 00 00 DatumIstekRez n
  • 在Java中访问其他类文件

    我们刚刚开始为我的学位学习 Java 我得到了一个文件夹 其中包含各种 Java 类 每个类都有自己的 java 文件 文件名与其所在类的名称相同 有一个文件托管一个公共类 其中包含以下内容 public static void main
  • 修改不是先前提交的提交[重复]

    这个问题在这里已经有答案了 我经常会有如下的工作流程 提交对一组文件的更改 将更改提交到不同的文件组 意识到我错过了一些属于第一次提交的更改 Curse 我无法利用git commit amend因为这不是我需要更改的最新提交 将更改添加到
  • 修复了推回内容的元素

    我正在寻找一种在页面顶部有一个固定元素的方法 该元素会根据页面宽度改变高度 并且还会推回下面的内容 到目前为止我已经解决了一些问题 但我希望有一个更干净的解决方案 我所做的是让两个顶部元素具有相同的内容 一个设置为固定位置 另一个设置为相对
  • 在加载时无需事件即可将数据从子级传递到父级,这在 vue 世界中可能吗?

    我觉得如果没有 click 事件或事件或输入字段或某些需要交互的东西 则不可能将数据从子级传递到父级 只需在加载时通 过使用此数据中的变量和控制将数据从子级数据变量传递到另一个数据变量中的父级父变量 只是加载时 可能吗 将 JSON 数据从
  • 表达式树的后缀表示法

    关于如何将表达式树转换为后缀表示法 有足够的资源 而且并不难 但我必须将后缀表达式解析为表达式树 表达式为 A 2 2 A B B 2 A B 我真的不知道如何解释这个表达式 有人知道如何处理这个问题吗 创建一个包含可能是树一部分的节点的堆
  • 拦截windows打开的文件

    我正在尝试制作一个可以拦截文件打开过程的小程序 目的是当用户双击给定文件夹中的文件时 Windows会向软件发出通知 然后软件处理该请求并将文件的数据返回给Windows 也许还有另一种解决方案 例如监视 Open 消息并强制 Window
  • Android Studio -- 无法编辑文件

    我认为这是一个非常愚蠢的问题 而且我找不到任何其他类似的问题 所以我认为它真的很愚蠢 但它仍然让我发疯 我无法弄清楚这一点 因此 每次我在 Android Studio 中打开文件时 它都不会让我编辑它 就像它处于某种只读或选择模式或其他模
  • Python 列表和 foreach 访问(在内置列表中查找/替换)

    我原本以为Python是一种纯粹的引用传递语言 来自 C C 的我忍不住会想到内存管理 而且很难将它从我的脑海中抹去 因此 我尝试从 Java 的角度来考虑它 并将除原语之外的所有内容都视为按引用传递 问题 我有一个列表 其中包含一堆用户定
  • Dictionary.values() 列表与集合中查找的时间复杂度[重复]

    这个问题在这里已经有答案了 在Python中 我们知道在字典中查找键需要O 1 运行时间 但是在dictionary values 中查找的运行时间是多少 dictionary a 66 77 88 b 99 100 key a if ke
  • Three.js DoubleSided 材质不会在平面参数几何体的两侧投射阴影

    看看这个jsfiddle http jsfiddle net blwoodley 5Tr4D 1 http jsfiddle net blwoodley 5Tr4D 1 我有一个蓝色聚光灯 照射在旋转的旋转正方形上 这会给地下地面投射阴影
  • 将身高设置为 100%

    我需要将所有网页 主页除外 的正文位于http www zorglegal nl http www zorglegal nl到相同的高度 100 浏览器高度 因此右侧的棕色条从上到下全屏拉伸 我怎样才能最好地实现这一目标 html heig
  • 在 tkinter 循环中不断访问线程

    我正在尝试制作一个 GUI 来连续绘制从微处理器接收到的信号 我试图仅通过使用类来实现这一点 但失败了 因为只有 GUI 类是 oppend 的 现在我已经实现了线程 或者至少我认为我已经实现了 但每个线程只运行一次 这让我相信我不明白 t
  • 类中具有相同变量名的多重继承

    我无意中遇到了多重继承中使用的类中具有相同名称的成员变量的问题 我的基本想法是成员变量是简单的 合并 即发生多重声明 编译器甚至没有告诉我警告 请参阅下面的 MWE 我知道使用相同名称的变量是一个坏主意 所以我认为以我的方式引用它们至少是不
  • ASP.net MVC 导航栏品牌到标题文本颜色

    令人惊讶的是 要找到这个问题的答案并不容易 我想更改标题中所有操作链接的文本颜色 我试过这段代码 CSS navbar brand color black navbar brand visited color black navbar de
  • 如何在 GAE 之上运行 WebSocket 服务器?

    如何在 Google App Engine 上运行 WebSocket 服务器 是否可以 有可能吗 是否可以 No 您现在不能 因为 GAE 不允许通用入站套接字连接 每个请求也被限制为 30 秒 但这可以通过自动重新连接和会话跟踪轻松解决