【问题标题】:The simplest way of websocket based on vanilla JS AJAX long polling基于vanilla JS AJAX长轮询的最简单的websocket方式
【发布时间】:2017-08-09 21:01:00
【问题描述】:

我在 vanilla JavaScript 中准备了最简单的 AJAX 长轮询(实时)方法,没有任何像 jQuery 这样的库...... 该代码基于PHP文件server.php读取的data.txt的timestamp(仅此而已)。

function realtime(timestamp) {
    var xhr = new XMLHttpRequest();

    xhr.open('GET', 'server.php' + (typeof timestamp !== 'undefined' ? '?timestamp=' + timestamp : ''), true);
    xhr.onreadystatechange = function() {
        if (xhr.readyState == 4 && xhr.status == 200) {
            var result = JSON.parse(xhr.responseText);

            document.getElementById('response').innerHTML = result.content;

            realtime(result.timestamp);
        }
    };
    xhr.send();
}

realtime();

现在,我想知道如何在websocket 中准备类似的示例(没有任何库,只需清理 JS/PHP)。

有可能吗?

【问题讨论】:

  • 是的,有可能,如果没有 - 不存在提供 websocket 支持的库。没有库实现套接字是一件痛苦的事,为什么要重新发明轮子?
  • @baao 我想从初级了解 websocket,而不是重新发明轮子:)
  • 好吧,那么请阅读 websocket API 上的规范和文档,这些将为您提供所需的所有信息。

标签: javascript php ajax websocket long-polling


【解决方案1】:

Websocket 是与 HTTP 不同的协议(它使用 HTTP 升级机制)。 所以你必须调整你的网络服务器和任何反向代理等来处理 websocket 连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 2014-03-14
    • 2014-07-28
    • 2011-04-20
    • 1970-01-01
    • 2012-12-09
    • 2012-08-16
    相关资源
    最近更新 更多