nodejs:每次向文件中添加行时,都会向服务器发送新的文件内容
nodejs: send new file contents to a server everytime line gets added to file
我是一个绝对的nodejs初学者,即使在实现简单的东西时也会遇到问题。我想实施以下情况
- 我有两台机器(m1,m2)正在将日志写入一个文件(~/Desktop/logs)
- 每次有新行添加到我的日志文件中时,我都想将这些新行发送到中央计算机(mCentral)
请注意,这是一个持续不断的过程。我的日志文件并不完整,但它们正在不断填充。
如有任何帮助/提示,我们将不胜感激。
问候
您可以使用socket.io 轻松解决问题
Socket.IO支持基于事件的实时双向通信。
在您的情况下,您有两个服务器,每个服务器都写入日志文件,因此在写入函数之后,您必须发出一个事件,我们记录了一条消息,然后我们将在客户端机器"mcentral"中捕获此事件。你没有发布你的源代码,但在包括socket io之后,它将以某种方式如下:
机器m1和m2
var io= require("socket.io").listen(http);
// http is your HTTP server created with require("http")
// your function writes in log file a variable called line
// We will emit an event to mcentral that we logged line
io.sockets.on('connection', function (socket) {
socket.broadcast.emit('logging', {message: line}); // we emit an event
});
});
// our server is listening on port 3000 (example)
http.listen(3000,function(){
console.log("Listening on 3000");
});
机器中心在一个简单的网页中,我将收听我们在机器m1和m2中创建的一个名为logging的事件,当捕捉到这个事件时,我们将显示在html部分(我的示例)中添加的行
<html>
<head>
<title> List </title>
</head>
<body>
<section id="zone_msg">
</section>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost:3000');
socket.on('logging', function(data) {
$('#zone_msg').prepend('<p> </strong> ' + data.message + '</p>');
})
</script>
</body>
Socket.io是实时的,可以帮助您解决此类问题。如果我的示例不太清楚,您可以查看其他资源,如这里和这里的
相关文章:
- jQuery blueimp文件上传:将N-1个文件上传到IE中的服务器
- 将JQuery Handontable保存到服务器上的excel文件中
- 正在使用Dropzone.js删除服务器上已重命名的文件
- Angular JS文件上传到托管服务器
- 从安卓设备将图像上传到服务器时,文件扩展名错误
- node.js将字符串转换为要上传到Web服务器的文件
- 在浏览器中打开文本文件-服务器上出现错误
- 如何从 Node.js 访问、检索、存储和删除文件到远程文件服务器中
- 从文件服务器读取 XML 文件
- 如何从文件服务器下载文件
- 如何使用JQUERY使用AJAX将Javascript变量(从客户端)发布到PHP文件(服务器端)
- 学习node文件服务器为什么将createReadStream()放入createServer()中
- NodeJs中的静态HTTP文件服务器:有时外部.js和.css文件加载正常,有时加载不正常;t
- 使用ExpressJS保护静态文件服务器
- 如何将json对象保存为文件服务器端
- 学习younode教程#11 HTTP文件服务器
- 仅由文件服务器支持的浏览器应用程序中的数据
- http.文件服务器响应的mime "Content-Type"错误
- 在dropzone.js中分配文件服务器id
- 通过JavaScript上传文件:服务器上的文件无效