标签: channel-api

在C#中使用Google Channel API

官方文档没有提到支持,但我想知道是否可以连接客户端程序而不是javascript来使用Channel API.我目前正在使用Windows应用程序的基本轮询技术,使用Channel API可以提高响应速度并减少负载.

我认为,作为一个丑陋的黑客,我可以在后台渲染一个隐藏的webbrowser对象,并在其中运行javascript,然后以此为基础.有更好的解决方案吗?

c# google-app-engine comet cometd channel-api

7
推荐指数
1
解决办法
1764
查看次数

AppEngine Channel API - 检查频道是否仍处于打开状态的最佳方式(服务器端)

我在AppEngine上构建了一个社交网络/约会类型应用程序,目前我正在添加一个建立在Channel API之上的聊天.但是,我遇到的问题是用户可能会在聊天过程中重新加载或导航到新页面(就像在Facebook中一样).这意味着服务器不容易知道它是否应该为给定客户端生成新的通道ID令牌,或者是否已经为给定客户端分配了通道令牌.

如果有一种方法可以检查(服务器端)特定客户端是否已打开某个频道,那将非常有用.例如,如果我为客户端"Jack"分配了一个"Jack-Jan-21-2010"的频道ID,那么我希望能够在服务器端检查是否已经有一个与该ID相关联的频道"杰克-JAN-21-2010" .这可以通过观察onerror()和onclose()回调在客户端进行跟踪(但有点),但我看不到任何服务器端允许我只检查与给定ID相关联的通道已经开放了.

在使用AppEngine Channel API时,是否有人知道检查(服务器端)是否已打开某个频道的智能方法?

sockets api google-app-engine channel-api

7
推荐指数
1
解决办法
3700
查看次数

Google App Engine的XMPP和渠道API之间的差异

我正在开发一个不在AppEngine上的应用程序,并且具有聊天功能,可以放入通信Web客户端(浏览器+ javascript)和移动客户端(ActionScript).我正在考虑在AppEngine上使用XMPP协议(然后在Google上只使用服务器进行聊天功能,并将其余部分留在我的服务器上).你告诉我这是否可能?与Channel API有什么不同?谢谢

google-app-engine xmpp channel-api

7
推荐指数
2
解决办法
5125
查看次数

Google App Engine渠道API

我正在尝试学习GAE的通道API(使用Java),但我无法弄清楚从哪里开始.

我浏览了Channel API Overview(Java),但为了简洁起见,那里发布的代码并不完整.

因为我是新手,如果有完整的示例代码,那将非常有用.

谢谢,Shrey

java google-app-engine channel-api

7
推荐指数
2
解决办法
7023
查看次数

App Engine Python模块和入站邮件服务

我在我的python项目中使用App Engine模块.(https://developers.google.com/appengine/docs/python/modules/#Python_Background_threads)

我也在m项目中收到电子邮件:https: //developers.google.com/appengine/docs/python/mail/receivingmail

我想将电子邮件定向到我的工作模块而不是默认模块.为此,我的worker.yaml具有以下设置

worker.yaml

    api_version: 1
    application: integrate
    module: worker
    version: 1-0-0
    runtime: python27
    threadsafe: true

    inbound_services:
    - mail

    builtins:
    - deferred: on

    handlers:

    - url: /admin/.+
      script: src.worker.main.app
      login: admin

    - url: /_ah/mail/.+
      script: src.worker.main.app
      login: admin

    - url: /.*
      script: src.worker.main.app
Run Code Online (Sandbox Code Playgroud)

的app.yaml

    api_version: 1
    application: integrate
    version: 1-0-0
    runtime: python27
    threadsafe: true

    builtins:
    - deferred: on

    handlers:

    - url: /admin/.+
      script: src.default.main.app
      login: admin

    - url: /.*
      script: src.default.main.app
Run Code Online (Sandbox Code Playgroud)

我甚至尝试添加dispatch.yaml

    application: integrate …
Run Code Online (Sandbox Code Playgroud)

email google-app-engine module python-2.7 channel-api

7
推荐指数
1
解决办法
649
查看次数

适用于非Javascript客户端的COMET的Google应用引擎通道API

如何在非JavaScript客户端上使用Google App引擎通道API进行COMET.

我将用python或任何其他语言编写客户端,并且可以从客户端执行HTTP或Socks.

我该如何处理,我想知道JavaScript客户端支持中发生了什么?
JS是使用长轮询还是与GAE服务器交谈的内容.

python google-app-engine channel-api

6
推荐指数
1
解决办法
2863
查看次数

强制通道API进行轮询

希望Moishe看到这一点:在开发模式中,通道api客户端(javascript)采用轮询...并使用非常快的轮询速率.在探索之后我发现如果我设置

goog.appengine.Socket.POLLING_TIMEOUT_MS = interval;
Run Code Online (Sandbox Code Playgroud)

我可以控制投票率.我想知道的是:

  • 我如何知道客户是否/何时进入生产中的"轮询模式"?
  • 是否可以强制客户端进入"轮询模式"?
  • 如果我达到应用的频道配额会怎样?/ _ah/channel/endpoint会完全停止工作吗?还是会诉诸民意调查?

-谢谢

google-app-engine channel-api

6
推荐指数
1
解决办法
900
查看次数

带有自定义域的Google App Engine渠道API

在我的GAE应用程序(Python)中,我基于host请求对象的一部分实现了多租户和多站点支持.

例如,www.foo.com/index.html并且www.bar.com/index.html都由相同的应用程序处理(例如myapp.appspot.com).应用程序读取主机值,然后决定使用哪个命名空间和站点配置.只要应用程序直接从用户代理接收请求,这就很有用.

但是,我想使用Channel API,但是存在一个问题,因为请求来自原始用户代理/_ah/channel/connected/并且/_ah/channel/disconnected/不是来自原始用户代理.相反,请求具有Host: myapp.appspot.com参数to=myapp.appspot.com.(该from参数是我期望的令牌.也www.foo.com/_ah/channel/jsapi被重定向到一个没有记录的talkgadget服务器,但似乎是预期的.)

我假设,问题是由channel.js不使用原始主机调用我的应用程序的代码引起的,例如www.foo.com/_ah/channel/connected.相反,它使用一个talkgadget.google.com主机(据我所知)将调用我的应用程序,但使用myapp.appspot.com,忽略原始主机,所以我不能使用请求的host值为我的目的.

作为一种解决方法,我可以想出一种将主机信息包含在通道令牌中的方法,因此当我connecteddisconnected处理程序收到令牌时,他们可以使用令牌代替.

但是,我想知道是否有更好的方法,我仍然可以获得原始主机名(例如www.foo.com)请求/_ah/channel/connected//_ah/channel/disconnected/.有任何想法吗?

这是我到目前为止所尝试过的(没有任何成功):

将自定义域主机名添加到JS src属性:

<script type="text/javascript" src="//www.foo.com/_ah/channel/jsapi"></script>
Run Code Online (Sandbox Code Playgroud)

我还尝试手动覆盖通道套接字的base-url,建议如下:https://stackoverflow.com/questions/16558776/google-app-engine-channel-api-same-origin-policy

<script type="text/javascript">
onOpened = function() {
  // TODO
};
onMessage = function() {
  // TODO
};
onError = function() {
  // TODO …
Run Code Online (Sandbox Code Playgroud)

google-app-engine channel-api

6
推荐指数
1
解决办法
399
查看次数

是否可以为iphone设置GAE频道API?

我想在我的GAE应用程序和iphone之间尝试使用channel-API.我不知道从哪里开始......我应该尝试使用运行javascript的UIWebView吗?

iphone google-app-engine ios channel-api

5
推荐指数
1
解决办法
1348
查看次数

间歇性错误代码400,在连接到通道的客户端上的描述""

我的Google App Engine应用程序使用Channel API在某些时候运行良好.但是,间歇性地,连接到通道的js代码会产生错误.在socket.onError中,错误代码设置为400,描述设置为空字符串.我已经检查过用于连接的令牌是否有效.我也尝试在socket.onError中重新创建通道,首先调用socket.close(),但这似乎不起作用.通常在成功之前会出现一系列失败.客户端js正在iOS上的Safari上运行.任何有关如何解决或解决问题的想法都将受到欢迎.现在,我最好的解决方法是继续尝试直到我成功,增加每次失败尝试之间的间隔.服务器端存在API没有帮助,因为没有可靠地调用'connected'钩子.

google-app-engine channel-api

5
推荐指数
1
解决办法
1048
查看次数

标签 统计

channel-api ×10

google-app-engine ×10

api ×1

c# ×1

comet ×1

cometd ×1

email ×1

ios ×1

iphone ×1

java ×1

module ×1

python ×1

python-2.7 ×1

sockets ×1

xmpp ×1