写入后,Node.js保持连接状态
我试图解释我的问题:
- 我有一个文件,每个用户连接: user1.txt , user2.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"); });