gpt4 book ai didi

java - 即使消息通过,GAE/J channel API 异常?

转载 作者:行者123 更新时间:2023-11-29 18:33:47 25 4
gpt4 key购买 nike

我在应用程序初始化期间通过一系列 ajax 调用打开了一个 channel :

getToken = function () {
xhr = new XMLHttpRequest();
xhr.open("GET", "/game?action=getChannelToken", true);
xhr.send(null);
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status==200) {
connect(xhr.responseText);
}
};
};

小服务程序:

ChannelService channelService = ChannelServiceFactory.getChannelService();
channelToken = channelService.createChannel(uid);

然后将 token 返回给 javascript 用于:

connect = function (token) {
// alert ("connect");
var channel = new goog.appengine.Channel(token);
var socket = channel.open();
socket.onopen = onOpened;
socket.onmessage = onMessage;
socket.onerror = onError;
socket.onclose = onClose;
};

我收到这个错误:

WARNING: /_ah/channel/dev com.google.appengine.api.channel.dev.LocalChannelFailureException: Channel for application key null not found.

channel 创建部分很简单,所以我不明白问题在哪里。System.out.println (channelToken); 返回类似于

channel--rrmk8i-100002139544068

(100002139544068 是我用来创建 channel 的uid),所以它似乎返回了一个真实的token。此外,channelService.sendMessage(msg);(使用与之前相同的 uid)发送消息没有任何问题。

有人知道为什么会这样吗?我正在使用 eclipse 3.5.2、GAE/J 1.4.2 和 ubuntu 10.10

谷歌搜索那个异常(exception)我在这里只发现了一个讨论: http://groups.google.com/group/google-appengine-java/browse_thread/thread/19f250b1ff0e4342

但是将 var channel = new goog.appengine.Channel(token); 更改为 var channel = new goog.appengine.Channel(uid); 没有解决任何问题(而且,据我所知,它不应该)

最佳答案

我能想到这可能发生的两个原因:

  1. 您在客户端仍在运行时重新启动 dev_appserver.py。因为客户端将使用 dev_appserver 不知道的“旧” token 进行轮询,所以会抛出此错误。如果是这种情况,只需在重启 dev_appserver 后刷新您的客户端页面(或以其他方式强制它请求新 token )。

  2. 正在使用无效 token 调用 connect()。听起来您已经排除了这种可能性,但如果上述情况并非如此,则可能值得仔细检查。

您可以看到客户端正在使用什么 token 进行轮询,您可以打开 Firebug 或 Chrome 开发控制台并查找对如下路径的请求:

http://localhost:8080/_ah/channel/dev?command=poll&channel=channel-1503856530-alpha-token&client=1

该 URL 的 channel-1503856530-alpha-token 部分是传递给“new goog.appengine.Channel()”的 token 。

关于java - 即使消息通过,GAE/J channel API 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5366939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com