gatewayworker前端页面与socket服务器端进行数据通讯(一)

本文介绍了如何利用gatewayworker构建聊天室在线列表实时更新功能,无需node.js经验,通过ThinkPHP配合gatewayworker即可实现前端与socket服务器的长连接通讯。详细阐述了前端数据整理、发送,以及gatewayworker服务端接收并发送数据的流程,强调了gatewayworker在实时通讯中的优势。
摘要由CSDN通过智能技术生成

最近写了一个聊天室在线列表实时更新的功能,通过ajax+ThinkPHP+gatewayworker 实现聊天室在线列表无刷新实时更新功能,通过这个功能的编写,发现gatewayworker确实是一个很好的系统,即使没有node.js以及socket编程经验的我,也可以轻松实现socket实时通讯及长连接通讯的功能,这个在以前是很难想象的。

以前真的准备去学node.js了,但是因为发现了gatewayworker,就可以放弃对node.js的学习了,把精力都放在功能的开发上。

通过编写在线列表的功能,使我对gatewayworker的通讯机制更进一步加深了了解,所以在这里进行一下复盘,将数据的通讯功能再整理一下。

对于前端(客户端)与socket服务器端(gatewayworker)的通讯机制,可以概括为如下:
(1)首先,前端页面整理好要发送的数据,数据必须是json格式。
(2)前端页面将json数据,通过ws.send();函数,直接发给gatewayworker服务端。
(3)gatewayworker服务端收到数据以后,再通过 Gateway::sendToUid($temp_array,json_encode());将数据发送给客户端。或者收到客户端的数据以后,就将数据存储在redis或者mysql里。
(4)客户端收到了gatewayworker服务端发送的数据以后,就去执行前端的操作,比如更新或者显示前端页面的数据。这个操作的执行,是通过ThinkPHP的控制器或者API实现的。

以上就是客户端与服务器端数据通讯的过程。数据在客户端与服

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值