我需要为聊天应用程序实现长轮询
。我已经搜索过了,但我只找到了如何使用jQuery
在JavaScript
中实现它。如何仅使用原生JavaScript
和node.js
实现它?你能给我介绍一些相关的文章或资料吗?
问:如何在本地JavaScript
中在NodeJS
中进行长轮询?
答:我想首先你需要了解长轮询模型是如何工作的。如果您还没有任何线索,那么RFC-6202规范是一个很好的起点。
它是关于客户端向服务器
发送请求
并等待直到返回响应。
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
var requestCounter = 0;
var responses = {
/* Keyed by room Id =*/
"room_abc" : [ /* array of responses */]
};
app.get('/', function (req, res) {
requestCounter += 1;
var room = /* assuming request is for room_abc */ "room_abc";
// Stash the response and reply later when an event comes through
responses[room].push(res);
// Every 3rd request, assume there is an event for the chat room, room_abc.
// Reply to all of the response object for room abc.
if (requestCounter % 3 === 0) {
responses["room_abc"].forEach((res) => {
res.send("room member 123 says: hi there!");
res.end();
});
}
});
app.use(bodyParser.text({ type: 'text/*' }));
app.use(bodyParser.json());
app.listen(9999, function () {
console.log('Example app listening on port 9999!')
})
这里的想法是,首先存储请求的response
对象,当事件通过时,假设每第三次HTTP调用,然后循环遍历所有响应并对其进行回复。对于您的聊天应用程序,触发响应的事件可能是当有人向聊天室发送消息时。
嗨,我知道在长轮询中,你保持与服务器的连接打开很长时间,直到你从服务器得到响应,然后再次轮询,等待下一个响应。然而,我似乎不明白如何编写它。下面的代码使用长轮询,但我似乎不明白
本文向大家介绍使用原生的javascript来实现轮播图,包括了使用原生的javascript来实现轮播图的使用技巧和注意事项,需要的朋友参考一下 下面看下js轮播图的实现代码,具体代码如下所示: 补充:原生javascript实现banner图自动轮播切换 一般在做banner轮播图的时候都是用jquery,因为代码少,方便,不需要花费很长的时间去获取某个元素作为变量,然后再进行操作,只要一个$
问题内容: 我想知道如何使用ajax push。我从各种Web文章中学到,可以通过使用一些程序(例如COMET,APE(AJAX PUSH ENGINE)等)来获得Ajax push。但是我想知道是否有更简单的使用方法以及使用哪种语言实现ajax推送。因为在我所看到的文章中。他们正在使用Java。我没有学过的:(所以我想知道是否有类似的东西:您服务器中的javascript,它为特定项目设置了一个
问题内容: 我正在尝试在Flask框架下使用JQuery和Python进行长时间轮询。 在PHP中进行了长时间的轮询之后,我尝试以相同的方式进行处理: 具有while(true)循环的脚本/函数,定期检查更改,例如,数据库中每0.5秒更改一次,并在发生更改时返回一些数据。 因此,在我的ini .py文件中,我创建了一个到/ poll的app.route,以供JQuery调用。jQuery向其提供有
问题内容: 因此,在这段(简化的)代码中,当有人点击我的节点服务器时,我向另一个网站发出GET请求,并将HTML页面标题打印到控制台。工作良好: 但是,在实际应用中,用户可以指定要命中的URL。这意味着我的节点服务器可能正在下载20GB的电影文件或其他文件。不好。content- length报头没有被用来停止它,因为它并不是所有服务器都传输的。然后问题是: 我如何告诉它在收到第一个10KB之后停
本文向大家介绍原生Javascript和jQuery做轮播图简单例子,包括了原生Javascript和jQuery做轮播图简单例子的使用技巧和注意事项,需要的朋友参考一下 接触jquery也有一段时间了,今天刚好利用轮播图来练练手。博文的前面会介绍一个简单用jquery做轮播图的例子,中间会插入一些关于轮播图更多的思考,在后面会用Javascript的方法来写一个轮播图,最后则是关于jquery和