【发布时间】:2016-10-18 22:36:35
【问题描述】:
我对 Node.js 和 Express 有点陌生,目前我正在处理一个页面,我希望每 1 秒(实际上是 1250 毫秒)生成消息(从服务器)发送到客户端页面。当用户访问该站点时,我希望广播最新消息,之后每秒都有新消息出现。换言之,无论何时连接到服务器,每个用户都会同时在网页上看到相同的消息。
我已经进行了一些搜索,但不幸的是,在网上玩代码示例时运气不佳。这是一个粗略的想法来解释:
app.js
'use strict';
var express = require('express');
var app = express();
var http = require( "http" ).createServer( app );
var io = require( "socket.io" )( http );
app.get('/', function (req, res) {
res.sendFile(__dirname + '/public/index.html');
});
http.listen(3000, function(){
/* someFunction to generate new LATESTMESSAGE every 1s */
io.on('connection', function (socket) {
socket.emit('news', { messages: LATESTEMESSAGE })
});
});
我假设我需要从生成 LATESTMESSAGE 的函数中通过 socket.io 发送消息(每 1 秒生成消息时,通过套接字发送?)?如果是这种情况,我不熟悉如何在不是 app.js 的页面中需要 socket.io(这个函数可能是一个类,在它自己的 js 文件中),因为 socket.io 需要 app 和快递(见上面的代码)。
感谢您的帮助!我今天花了很多时间思考这个问题,并希望得到任何指导或帮助。如果我没有提供足够的信息,请告诉我。
附言上面的代码肯定不会完成所需要的。只是一个粗略的大纲来显示我想要完成的事情
【问题讨论】: