Javascript 基于AJAX长轮询的websocket的最简单方法

Javascript 基于AJAX长轮询的websocket的最简单方法,javascript,php,ajax,websocket,long-polling,Javascript,Php,Ajax,Websocket,Long Polling,我用普通JavaScript编写了最简单的AJAX长轮询(实时)方法,没有像jQuery这样的库。。。 代码基于PHP文件server.PHP(仅此而已)读取的data.txt的timestamp工作 现在,我想知道如何在websocket中准备类似的示例(没有任何库,只需清理JS/PHP) 有可能吗?Websocket是与HTTP不同的协议(它使用HTTP升级机制)。 因此,您必须调整您的Web服务器和任何反向代理等来处理websocket连接。是的,如果没有,这是可能的-不存在提供webso

我用普通JavaScript编写了最简单的AJAX长轮询(实时)方法,没有像jQuery这样的库。。。 代码基于PHP文件
server.PHP
(仅此而已)读取的data.txt的
timestamp
工作

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


有可能吗?

Websocket是与HTTP不同的协议(它使用HTTP升级机制)。
因此,您必须调整您的Web服务器和任何反向代理等来处理websocket连接。

是的,如果没有,这是可能的-不存在提供websocket支持的库。在没有库的情况下实现套接字是一件痛苦的事情,你为什么要重新发明轮子?@baao我想从初级阶段了解websocket,而不是重新发明轮子:)那么,只要阅读websocket API上的规范和文档,这些将为你提供你想要的所有信息。
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();