后端通过websocket协议直接传数据给ws服务器?

luzhuqun

为什么websocket不能像tcp一样 直接

// 建立socket连接到内部推送端口
$client = stream_socket_client('ws://192.168.10.147:2000', $errno, $errmsg, 1);
// 推送的数据,包含uid字段,表示是给这个uid推送
$data = array('uid'=>'uid1', 'percent'=>'88%');
// 发送数据,注意5678端口是Text协议的端口,Text协议需要在数据末尾加上换行符
fwrite($client, json_encode($data)."\n");
// 读取推送结果
echo fread($client, 8192);

在后端传数据给ws服务器,还需要建立ws客户端?

12333 1 0
1个回答

walkor

php本身不支持websocket协议,stream_socket_client('ws://.. 是错误的用法。

你这个是
http://wenda.workerman.net/?/question/508
里例子的代码片段。这个例子本身包含了websocket通讯,这个例子里websocket通讯只用于和客户端通讯。和后端php通讯用的是text协议,php如何发送text协议数据代码都是写好的(类似你上面那段),直接用就行。

  • 暂无评论
年代过于久远,无法发表回答
🔝