通过websocket连续监视文本文件并将更新发送到网页

时间:2016-08-26 11:20:02

标签: javascript websocket server push

好的,所以我的服务器文件夹中有一个文件' xyz.txt' ,我需要连续通过websocket推送它,以便每当 xyz.txt 在服务器上更新,网页自动显示 .txt 文件的更新内容。 我正在考虑将 txt 数据移动到可以通过 ws.send()发送的变量..但我还没有能够将txt数据输入到var。。

另外,我不想使用AJAX,因为实际中的txt文件将在几毫秒内更新。 任何有关这方面的帮助都会很棒!!谢谢! :)

1 个答案:

答案 0 :(得分:0)

在网页中启动webocket连接。当消息到达时,onmessage事件将触发,该事件将数据写入显示文本的div。 (简化的功能代码破解 - 未经测试):

    var socket;
    function pxstart() {
        document.addEventListener('DOMContentLoaded', function wsinit() {
            if (!("WebSocket" in window)) {
                alert("Your browser doesn't support latest Websockets");
                return;
            }
            var wsUrl = 'ws://127.0.0.1:8001/';
            var protocol = 'Px';
            socket = new WebSocket(wsUrl, protocol);
            socket.onmessage = function (evt) {
            var js = JSON.parse(evt.data);
            $(DIVNAME).html(js.data);
        };
    }

服务器上的应用程序监视txt文件。当它检测到文本文件发生变化时,会将文本发送到websocket服务器发送方法,该方法立即通过websocket协议将其发送到连接的浏览器。

重新启动应用:如果您想使用js,那么具有该语言经验的人可以介入并为该部分建议代码。建议从一个非常简单的测试字符串开始,并从中构建。