我有一个php websocket写成:
$socket = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($socket, '127.0.0.1', 8080);
socket_listen($socket);
我在命令行上通过php server.php运行它并连续运行。我正在尝试将数据从javascript脚本发送到此服务器。可能吗?我尝试过的是从javascript创建一个websocket连接并使用websocket.send(JSON),但它似乎没有在server.php中注册(或者我不知道如何正确地从javascript发送中获取数据)。有可能发送吗?如果是这样,我怎么发送?
答案 0 :(得分:1)
webSocket是在TCP之上运行的特定协议。它具有特定的帧格式,必须使用该格式才能使用webSocket与另一个端点进行通信。它不仅仅是一个普通的TCP套接字,因为它看起来像你正在使用。如果你想看看它是如何工作的,那么这就是webSocket协议的reference document。
实际上,webSocket连接是通过http请求启动的,然后进行升级"到webSocket协议。
如果您正在使用PHP,则可以获得一个说出webSocket协议的模块并使用它。我自己不是PHP开发人员,但我听说Ratchet是一种用PHP支持webSockets的流行方式,还有其他几种。这里是关于PHP的webSocket支持的related StackOverflow question。
答案 1 :(得分:0)