问题标签 [channel-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
431 浏览

channel-api - Google Channel API - 如何在本地测试它?

我想测试我的应用程序,它使用谷歌频道 api 在两个用户之间共享消息,但我设法看到消息只从一侧到另一侧。是因为我在同一台机器上打开了 2 个频道吗?我在不同的浏览器(Chrome 和 IE)上运行应用程序,并且每个浏览器都使用不同的用户名登录?这还不够吗?

关于如何在单台 PC 上测试我的应用程序的任何建议,或者我必须为此类应用程序连接另一台 PC?

谢谢穆基。

0 投票
1 回答
894 浏览

python - App Engine Channel API 不返回任何消息

问题描述:频道消息没有返回到 ajax 脚本。最初,消息被传递到客户端,但是当我在js中设置更大的超时时出现问题:

goog.appengine.Socket.POLLING_TIMEOUT_MS = 5000; //每5秒轮询一次

我添加了一个非常基本的 Python 代码来测试 Channel API 是否适用于我的 Google App Engine 应用程序。

在客户端,我有一个带有 onMessage 代码的常规 js。

问题是没有消息返回到客户端请求。他们都对轮询 ajax 空无一人(如在 Firebug 中所见)。在应用程序日志中,我可以看到该通道已创建:

“Creating channel token channel-2382918168-broadcast with client id broadcast” 和稍后的消息被发送但带有评论:

介于两者之间的是这些请求:

** ....消息文本...到带有密钥的频道(广播):没有连接客户端***

渠道/消息如何在更深层次上发挥作用?如果没有客户端连接或被新连接的客户端检索,消息是否会丢失?如果出于某种原因我创建了一个同名的频道,它会破坏它内部的未传递消息吗?

0 投票
1 回答
225 浏览

google-app-engine - 带有 django-nonrel 的 GAE 频道 api

谁能告诉我,谷歌应用引擎通道 api 是否集成在 django-nonrel 中?我的整个应用程序在 GAE 上运行的 django-nonrel 中,但现在我需要使用通道 api 来进行服务器推送。我认为频道 api 使用 GAE webapp。它可以与 django-nonrel 一起使用吗?

谢谢, 苏尼尔

0 投票
2 回答
1012 浏览

google-app-engine - 在没有浏览器的情况下使用 GAE 频道

我想编写基于 GAE 的应用程序,在计算机/手机之间同步信息。现在我只是定期查询,这会导致延迟或需要用户单击按钮手动刷新。

使用 GAE 通道,应该可以通过这种方式来通知设备何时应该刷新。但是,由于我希望它是一个桌面应用程序(而不是网络应用程序),我想知道我是否可以编写自己的客户端到通道 API?或者抓住外面的任何东西。

协议是否记录在案,或者是否有客户端可用于 JS 以外的任何内容?

0 投票
2 回答
790 浏览

python - Google App Engine Channel API 中的 simplejson 转储

我正在尝试将Channel API与我的 Google App Engine django-nonrel 项目一起使用。根据我目前的要求,我想将某个页面上的所有用户列表发送给group_mainpage.html同一页面上的所有其他用户。换句话说,如果我们都在这个页面上,我们都可以在这个页面的某个角落看到我们的名字。一旦用户离开页面,他们的名字应该从列表中删除。但我无法正确制作 JSON 并显示它。到目前为止,我已经这样做了,但它不起作用:

group_mainpage.html

视图.py

user_list.html

编辑:

0 投票
1 回答
504 浏览

javascript - App Engine Channel API 的 Javascript 客户端未使用我的 onError 回调

我正在使用 App Engine 的 Channel API 来维护 Chrome 扩展程序和 App Engine 应用程序之间的连接。您可以在此处查看我的频道相关代码:https ://github.com/2cloud/Chrome/blob/3fe70262ef69ae8286a057055f4108760560c47e/socket.js (该应用程序是开源的,因此您可以查看存储库以了解它是如何实现的都适合在一起)

我的问题是,由于某种原因,App Engine 在令牌过期时引发的 401 错误没有发送到我的 onError 侦听器。我尝试从 onError 中的 if 语句之外记录错误对象,但仍然一无所获。我的结论是 onError 在抛出 401 时不会被调用,正如文档所说的那样。

有没有其他人看到这个错误?有没有人知道如何解决它?

0 投票
1 回答
1629 浏览

google-app-engine - GWT 和通道 API

任何人都有使用 GWT 的 appengine channel api 的经验吗?我一直在关注googlecode提供的简要“操作方法” 。我的问题是我们如何在 GWT 中获取 channelKey(下面代码中的令牌变量)?我假设您必须使用 RPC 从服务器获取每个会话的 channelKey。这个对吗?我希望您可以只使用 channelId,但事实并非如此。最好的答案也将奖励给任何可以为 GWT +channel api 提供工作示例代码的人,而不是 dance-dance-robot 示例。我一直在努力寻找示例代码或教程,但一无所获。

以下代码执行并显示 onError 消息。我假设“令牌”是由服务器代码生成的 channelKey。这个对吗?

GWT 客户端代码:

} });

Appengine 服务器代码:

}

0 投票
1 回答
1614 浏览

javascript - 谷歌应用引擎中频道 api 中的频道断开通知

我在手机上使用我的 GAE 应用程序。即使我通过 socket.close() 函数手动关闭套接字,我在获取通道 api 中的 /_ah/channel/disconnected 的断开连接通知时也遇到了问题。该帖子在延迟一分钟后发生。有谁知道加快速度的方法?在我的情况下,socket.close() 不会产生通道断开通知(尽管仅在手机中.. 它可以在笔记本电脑上完美运行)!

0 投票
1 回答
381 浏览

google-app-engine - 使用 Channel 检查客户端的存在

我目前正在为我的一个课程项目在 Google App Engine 上开发一个应用程序,现在我正在尝试提供一个侧面板,该面板将在有人登录并连接到我的应用程序时自行更新。目的是让其他用户看到谁在线,这样他们就可以在游戏中互相挑战(是的,我正在写一个游戏应用程序)。我设法通过使用 Channel API、启用通道存在和实现处理程序来做到这一点。它运行良好,但只有当我停留在一个页面上并且有人登录时才有效。当我转到另一个页面时,我无法检查该用户是否仍然连接。该列表仅在有人连接时更新,但不会显示当前连接的用户。

有没有办法可以检查哪些用户使用 GAE 的频道连接?我注意到当我的应用程序尝试将 ChannelMessage 发送到当前未连接的 clientId 时,会打印一条警告消息。Channel API 中有什么东西可以让我做同样的事情吗?

0 投票
4 回答
609 浏览

c++ - 用于 c/c++ 客户端的 Google 频道 API

谷歌频道 api 是否有 ac/c++ 客户端?