php作为客户端websocket,使用PHP客户端连接到websocket

我正在尝试将基于PHP的客户端连接到websocket服务器.

这是我一直在使用的代码,已经在不同的论坛上广泛发布.但由于某种原因,我无法让它发挥作用.

任何帮助,将不胜感激.

$host = 'host'; //where is the websocket server

$port = 443; //ssl

$local = "http://www.example.com/"; //url where this script run

$data = '{"id": 2,"command": "server_info"}'; //data to be send

$head = "GET / HTTP/1.1"."\r\n".

"Upgrade: WebSocket"."\r\n".

"Connection: Upgrade"."\r\n".

"Origin: $local"."\r\n".

"Host: $host"."\r\n".

"Content-Length: ".strlen($data)."\r\n"."\r\n";

WebSocket handshake

$sock = fsockopen($host, $port, $errno, $errstr, 2);

fwrite($sock, $head ) or die('error:'.$errno.':'.$errstr);

$headers = fread($sock, 2000);

fwrite($sock, "\x00$data\xff" ) or die('error:'.$errno.':'.$errstr);

$wsdata = fread($sock, 2000); //receives the data included in the websocket package "\x00DATA\xff"

$retdata = trim($wsdata,"\x00\xff"); //extracts data

WebSocket handshake

fclose($sock);

echo $retdata;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值