基于swoole的聊天室开发(三)

上节上了,用户消息的推送,中的task,任务投递,接着继续往下说,

基于swoole的聊天室开发(三)_第1张图片

onMessage中说到type==1为,将用户和$fd绑定,以及上线通知的推送,接着说,type类型不为1的情况,那就是用户发送消息,这边的流程就是:用户发送消息,接着,服务器收到消息以后,将消息发送给每个用户,然后将用户发送的消息保存下来。其中上面的代码也比较简单,就不具体介绍了。

下面说一下open事件。该事件就是用户刚连接时候,服务器收到的信息。


基于swoole的聊天室开发(三)_第2张图片

这边需要做的就是,获取聊天室内最新的11条数据,然后给推送给登录得用户,这样就不会出现因为突然的下线或者退出帐号,下次登录无法获取聊天记录。


基于swoole的聊天室开发(三)_第3张图片

onFinish方法就是,任务投递完成后,tash方法会将结果返回给onFinish。

onClose方法,就是用户在断开连接后的处理,这边需要做的就是,将用户信息和$fd进行解绑,然后给其他用户推送,该用户下线。同时,在redis集合中将$fd给删除。防止下次消息推送,因为找不到该用户而报错。

一个聊天室PHP的内容就那么多。

前端的内容就不放了,我会将项目扔到git中,可以进行下载,测试。

你可能感兴趣的:(基于swoole的聊天室开发(三))