前台消息处理,文件存放在crmeb\services\workerman\chat\ChatHandle.php
客户端
JavaScript 发送消息
webSocket = new WebSocket('wss://www.crmeb.com/msg');
webSocket.onopen = function() {
alert("连接成功");
webSocket.send(JSON.stringify({
type: 'test',
data: {
msg: '这是一个测试的消息'
}
}));
alert("给服务端发送一个字符串");
};
webSocket.onmessage = function(e) {
alert("收到服务端的消息:" + e.data);
}
//发送一个type为status的消息
webSocket.send(JSON.stringify({
type:"status",
data: {
msg: '我的状态改变为上线',
value: 1
}
}));
服务端
服务端接口消息并处理,需改文件crmeb\services\workerman\chat\ChatHandle.php
namespace crmeb\services\workerman\chat;
class ChatHandle
{
//status事件类型处理
public function status(TcpConnection &$connection, array $res, Response $response) {
$data = $res['data'];
//打印JS发送的data.value
var_dump($data['value']);
//获取当前长链接的用户信息
$connection->user;
//处理好逻辑使用$response返回数据
//参数1位返回给前台的消息类型
//参数2位返回给前台的消息内容
$response->send('message', ['']);
}
}
Was this helpful?
0 / 0