1

我正在尝试打开一个套接字-> PHP 页面以从中获取数据,但我不确定如何打开它:

var socket = new WebSocket("ws://myurl.com/sockets/socket.php");  

if(socket.onopen)
    alert("Open");
else
    alert("Not Open");

我在我的索引中链接了最新版本的 jQuery(在此脚本的链接上方),我的 PHP 文件中没有任何内容 - 只是为了看看我是否可以打开连接。我错过了什么或做错了什么?

4

1 回答 1

5

WebSockets 需要服务器上的协议支持;具体来说,支持带有 WebSockets 安全标头的 HTTP 升级握手。简单地将 WebSocket 指向 PHP 脚本是行不通的,因为 PHP 脚本使用 HTTP,而 WebSocket 不是 HTTP——它是一种完全不同的协议(尽管它基于 HTTP)。

如果你想在 PHP 中使用 WebSockets,你需要使用一个专门的 来实现WebSockets 协议(我没有使用这些;它们只是谷歌的第一个结果)。

当然,Apache 和 PHP 并不是实时工作的最佳工具。我会使用 Node(以及出色的socket.io包),它旨在处理大量并发、持久的连接。

于 2012-10-31T03:02:07.403 回答