gpt4 book ai didi

javascript - Websocket 连接关闭并出现错误 1006 (Webdis)

转载 作者:IT王子 更新时间:2023-10-29 06:01:38 26 4
gpt4 key购买 nike

我在 Debian 7 32 上使用 Redis + Webdis。

我的问题是,在完成第一个命令(“订阅”命令除外)后,所有 websocket 连接都关闭,退出代码为 1006。例如,对于这个 testJSON() 函数

function testJSON() {
var jsonSocket = new WebSocket("ws://ip:7379/.json");
jsonSocket.onopen = function() {
console.log("JSON socket connected!");
jsonSocket.send(JSON.stringify(["SET", "hello", "world"]));
jsonSocket.send(JSON.stringify(["GET", "hello"]));
};
jsonSocket.onmessage = function(messageEvent) {
console.log("JSON received:", messageEvent.data);
};
jsonSocket.onclose = function(messageEvent) {
//some logging
};
jsonSocket.onerror = function(messageEvent) {
//some logging
};
}
testJSON();

我正在(在 Firebug 中)

JSON socket connected!
JSON received: {"SET":[true,"OK"]}
onClose: error.code 1006

onError 事件不工作,在 {"SET":[true,"OK"]} 响应后我的连接关闭。 GET 命令也不起作用。 Firefox 和 Chrome 中的行为相同。我检查了标题,它们似乎是有效的。

有什么建议吗?

最佳答案

好的,这是一个特性,不是错误。在代码中(websocket.c):

if (cmd_is_subscribe(cmd)) {
r->keep_alive = 1;
}

更改此代码解决了我的部分问题,但不是全部。

关于javascript - Websocket 连接关闭并出现错误 1006 (Webdis),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22645808/

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