有没有办法在socket.io事件后刷新Node.js页面?
var messageDynamic = "Initial status";
app.get("/", function(request, response) {
response.setHeader('Content-Type', 'text/plain');
response.end('The status is : ' + messageDynamic);
});
io.on('connection', function(socket) {
socket.on('UPDATE', function(message) {
messageDynamic = message;
// here I want to refresh the Node.js page (in order to update the message)
});
曾经有可能消息动态'更新后,node.js页面更新为?
任何帮助将不胜感激
答案 0 :(得分:1)
正如您所拥有的那样,当您在浏览器中访问/
时,您获得的纯文本页面会请求服务器一次,然后将不再侦听来自服务器的任何事件。为了动态更新它,您需要发回一个带有socket.io客户端代码的完整html页面来收听它:
在服务器上你会这样做:
socket.on('UPDATE', function(message) {
messageDynamic = message;
// Send event to every socket.io client
io.emit('message', message);
});
在客户端上,您将拥有相应的
var socket = io();
socket.on('message', function(message){
// Do stuff to the page
})
有关您要执行的操作的更完整示例,请参阅http://socket.io/get-started/chat/。