我尝试解释我的问题:
- 每个用户连接都有一个文件: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>
Node 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);
上看到它。 ,我想它发送了但没有执行,为什么??
我尝试使用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");
});
关于javascript - Node.js 写入后保持连接而不关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14084191/