写入后,Node.js保持连接状态

我试图解释我的问题:

  • 我有一个文件,每个用户连接: user1.txtuser2.txt (其中包含JavaScript代码)
  • 我有一个脚本,根据应用程序的发展更新它们
  • 每个用户调用一个文件demo.php:

客户端HTML:

<!DOCTYPE html> <html lang="en"> <head> <title>demo game</title> <script src="/js/jquery-1.8.3.min.js"></script> <script src="http://127.0.0.1:8080"></script> </head> <body> <div id="messages"></div> </body> </body> </html> 

节点server.js:

  var server = require('http').createServer(function(req, res){ setInterval(function() { mycode = html.readFileSync(__dirname+'/user1.txt'); socket.end(mycode+"\n"); console.log('data sent'+mycode); }, 1000); }); server.listen(8080); 

假设user1.txt的内容是: $("#messages").append("<br> hello");

发送包含user1.txt ,是可以的,并在客户端执行,但是,如果user1.txt包含变化,我可以在console.log('data sent'+mycode);上看到它console.log('data sent'+mycode); ,我想这是什么发送,但不执行,为什么?

我尝试用write()而不是end() ,并尝试使用:

 var net = require('net'); var html = require('fs'); var server = net.createServer({ allowHalfOpen: true},.... 

相同!

再一次:我怎么能在客户端发送“实时JavaScript代码”?

预先感谢

达尼

浏览器可以在呈现<div id="messages"></div>之前加载脚本。 在这种情况下,你的代码执行,没有任何影响。 尝试在user1.txt更改您的代码,如下所示:

 $(function() { $("#messages").append("<br> hello"); });