php怎么向websocket服务端发送信息啊

搜不到这方面的教程啊,我想模拟js发送wss消息一样发送消息给其他websocket客户端
类似于 send(“wss://www.domain.com/",["type"=>"heart"]);发送一条心跳消息的效果

我想要原生php或者swoole的
原生php可以通过fopen的方式发送消息,但是无法接受返回来的消息

本作品采用《CC 协议》,转载必须注明作者和本文链接
reading
白小二
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 13
composer require cboden/ratchet
<?php

require __DIR__.'/vendor/autoload.php';

use Ratchet\Client\WebSocket;

// 要连接的 WebSocket URL
$wsUrl = 'wss://your-websocket-url.com';

// 创建 WebSocket 客户端实例
$wsClient = new WebSocket($wsUrl);

// 连接事件处理
$wsClient->on('connect', function ($conn) {
    echo "已连接到 WebSocket 服务器\n";

    // 向服务器发送一条消息
    $conn->send('你好,服务器!');
});

// 消息事件处理
$wsClient->on('message', function ($msg) {
    echo "收到消息:$msg\n";
});

// 错误事件处理
$wsClient->on('error', function ($e) {
    echo "发生错误:{$e->getMessage()}\n";
});

// 关闭事件处理
$wsClient->on('close', function ($code = null, $reason = null) {
    echo "连接已关闭\n";
});

// 连接到 WebSocket 服务器
$wsClient->connect();
1年前 评论
Tomorrowxxy 2个月前

www.websocket-test.com/ 不知道你说的是不是这种 这个是可以直接在线测试的 填websocket服务端的地址就行

1年前 评论

直接在控制抬new一个websocket多快

1年前 评论

PHP作为客户端要主动对服务端发消息,并且发送之后还要长时间保持长链接?

1年前 评论

原生意味着你要把ws协议实现一遍,何必去造轮子呢,我还是建议你用现成的,你可以看看 www.workerman.net/doc/workerman/fa...

1年前 评论

我之前的websocket服务端是用node写的,然后laravel通过redis与socket服务端进行通信,然后这样就可以实现PHP内部函数,接口之类的直接将数据发给socket服务端了,可以看下我之前写的那个文章,不确定是不是你想要的那种方式

1年前 评论
Junwind

PHP原生方法,线上跑的项目也在用的,放心使用。

$client = stream_socket_client(ws服务地址);
if (!$client) {
    return;
}
$data = [ ... ];
fwrite($client, json_encode($cmd) . "\n");
fclose($client);
1年前 评论

file
进程模型附图
workerman实现方式链接如下 www.workerman.net/q/508
不依赖于 onmessage的 websocket内部再套一层tcp,http
不确定是不是你想要的那种方式
实现方式挺多的

1年前 评论

个人建议独立使用 workman 做 websocket 服务器,使用 GatewayWorker 能快速开发相关功能,前端通过调用 lLaravel 或者 tp 等 php 常规框架的接口,接口在调用 websocket 服务器,就能完美解决 websocket 通讯问题,实现了聊天室、客服,包括小程序中的各种实时交互与应用相关的功能。可以看 demo(https://element.wmhello.cn)

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!