tp php websocket教程,tp6 websocket方法详解

本文详细介绍了Swoole的WebSocket配置及使用,包括php配置文件、WebSocket事件处理、Websocket类对象的方法如广播、收件人设置、聊天室管理和消息发送。同时,展示了客户端JavaScript如何连接并发送消息,以及Swoole的HttpRequest和Task事件注册。此外,还提及了Swoole Manager类用于获取Swoole服务对象以直接操作服务。
摘要由CSDN通过智能技术生成

swoole.php配置文件:

1591684948798400.png

websocketEvent文件:

1591683493697613.png

websocketHandle文件:

1591696912179790.png

Websocket类对象方法:

broadcast 设置进行广播消息发送

isBroadcast 判断当前是否是广播模式

to 设置收件人fd或聊天室名(可以数组设置多个)

getTo 获取收件人fd或聊天室名

join 当前客户端加入到指定聊天室(可以多个)

leave 当前客户端离开指定聊天室(可以多个)

emit 消息发送

close 关闭当前连接

getSender 获取当前客户端id(即fd)

setSender 设置发件人的fd

\think\swoole\Manager类对象方法:

getServer 获取当前Swoole的服务对象,利用该对象直接操作原生Swoole服务方法

stop 停止服务

fab35f1ee469ecb777db246c1ab1b5b7.png

客户端:

websocket

发送

$(function () {

let ws = new WebSocket("ws://ip:端口");

ws.onopen = function() {

console.log("client:打开连接");

// ws.send("client:hello,服务端");

};

ws.onmessage = function(e) {

console.log(e)

};

ws.onclose = function(params) {

console.log("client:关闭连接");

};

$('.send').click(function(){

let val = $('.message').val();

//['事件名', 真正要发送的数据]

let event = ['test',{

content:val

}];

ws.send(JSON.stringify(event));

let str = '

'+val+''

$('.message_list').append(str);

});

})

swoole的回调事件:

需要在app/event.php中注册:

1591696726320839.png

这里我注册了request事件和task、finish事件

HttpRequest.php文件:

1591696805774768.png

Task.php文件:

1591696847742007.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值