gatewayworker
文章平均质量分 56
sinat_34469308
这个作者很懒,什么都没留下…
展开
-
GatewayWorker客户端向服务端发送心跳请求及心跳检测的实现
现在在做一个功能,就是服务端要知道客户端何时掉线的功能,那么要实现这个功能,首先需要实现客户端向服务端发送心跳请求,以及服务端为客户端进行心跳检测的功能。为了实现这个功能,我选择使用GatewayWorker框架,刚刚接触这个框架,实现了一个简单的客户端心跳检测。首先,在服务端设置心跳检测:服务端的心跳检测的设置,需要在start_gateway.php文件中进行设置,start_gatew...原创 2018-11-05 21:28:41 · 9609 阅读 · 4 评论 -
gatewayworker前端页面与socket服务器端进行数据通讯(二)
接上。前端页面:前端页面在数据通讯的过程中,有3个作用:第一,是整理出要发送的JSON数据,为JSON数据指定数据类型type,例子: //心跳包数据,onmessage初始化数据: var message_data = '{"type":"message_data_init","mbid":"'+mbid+'","bjid":"'+bjid+'","unit_pri原创 2018-12-18 17:36:34 · 1088 阅读 · 0 评论 -
gatewayworker前端页面与socket服务器端进行数据通讯(一)
最近写了一个聊天室在线列表实时更新的功能,通过ajax+ThinkPHP+gatewayworker 实现聊天室在线列表无刷新实时更新功能,通过这个功能的编写,发现gatewayworker确实是一个很好的系统,即使没有node.js以及socket编程经验的我,也可以轻松实现socket实时通讯及长连接通讯的功能,这个在以前是很难想象的。通过编写在线列表的功能,使我对gatewayworker...原创 2018-12-18 16:56:19 · 1540 阅读 · 0 评论 -
gatewayworker长连接下聊天页面之展示对方在线状态
gatewayworker长连接下聊天页面之展示对方在线状态,对应课程:https://study.163.com/course/courseLearn.htm?courseId=1005015012#/learn/video?lessonId=1051356046&courseId=1005015012前端页面代码,还包含了自动让聊天记录拉到最下面显示,聊天记录直接显示最下面,需要...原创 2018-12-09 21:08:50 · 1693 阅读 · 0 评论 -
gatewayworker长连接下聊天页面之聊天记录初始化
gatewayworker长连接下聊天页面之聊天记录初始化针对课程:https://study.163.com/course/courseLearn.htm?courseId=1005015012#/learn/video?lessonId=1051355043&courseId=1005015012前端页面:var fromid = {$fromid};var toid = {$...原创 2018-12-07 13:18:50 · 623 阅读 · 0 评论 -
gatewayworker长连接下聊天页面展示项目中用户头像和对方昵称
针对课程:gatewayworker长连接下聊天页面展示项目中用户头像和对方昵称https://study.163.com/course/courseLearn.htm?courseId=1005015012#/learn/video?lessonId=1051353023&courseId=1005015012前端页面:var fromid = {$fromid};var toi...原创 2018-12-06 20:58:45 · 577 阅读 · 0 评论 -
gatewayworker客户端发送消息给服务器端的学习总结
根据课程“workerman群发及客户端和socket服务器保持长连接双向消息推送”的学习总结:https://study.163.com/course/courseLearn.htm?courseId=1005015012#/learn/video?lessonId=1051345884&courseId=10050150121.前端页面,发送给gatewayworker服务器数据:...原创 2018-12-03 20:34:14 · 3532 阅读 · 0 评论 -
getwayworker长连接下的普通文本消息之聊天记录持久化
针对课程:getwayworker长连接下的普通文本消息之聊天记录持久化https://study.163.com/course/courseLearn.htm?courseId=1005015012#/learn/video?lessonId=1051351979&courseId=10050150121.判断用户是否在线在events.php中:public static fu...原创 2018-12-05 21:56:21 · 843 阅读 · 0 评论 -
gatewayworker长连接绑定用户id实现实现一对一客服聊天
针对课程:章节1课时4长连接绑定用户id实现实现一对一客服聊天https://study.163.com/course/courseLearn.htm?courseId=1005015012#/learn/video?lessonId=1051358018&courseId=1005015012控制器文件:获取用户idpublic function index(){$fromi...原创 2018-12-04 22:03:43 · 3566 阅读 · 0 评论 -
gatewayworker与redis连接失败的问题处理
gatewayworker 与 redis 进行连接,gatewayworker 的客户端 通过 onmessage 第一次触发redis连接的时候,就会产生连接失败的问题。值得注意的是,只有gatewayworker客户端在第一次触发redis的时候,才会遇到连接失败的问题,第二次及以后都是连接正常,而且在redis重启后,也是会在第一次连接redis时遇到连接失败的 问题。说远程主机强迫关...原创 2018-11-26 18:27:07 · 2203 阅读 · 0 评论 -
gatewayworker与mysql的连接及数据库操作
1.Workerman/MySQL 数据库连接类下载与安装gatewayworker与mysql连接,需要使用 Workerman/MySQL 数据库连接类,它依赖 PDO_MYSQL和PDO 扩展。需要先使用phpinfo()查看php是否已安装了这两个扩展。Workerman/MySQL 数据库连接类下载地址:https://github.com/walkor/mysql/archive/...原创 2018-11-15 18:33:21 · 4555 阅读 · 1 评论 -
Gatewayworker中进行redis初始化以及使用redis存取数据的操作
1.Gatewayworker中,进行redis的初始化在Gatewayworker中,进行redis的初始化,需要在Events::onWorkerStart中进行。Events::onWorkerStart是每个进程生命周期内都只会触发一次,所以适合进行初始化的操作,包括定时器以及mysql等初始化操作。redis的初始化实际上在其他回调函数中也可以进行,但是由于在public stat...原创 2018-11-13 22:28:47 · 3835 阅读 · 0 评论 -
gatewayworker服务端将数据发送给指定的用户uid
gatewayworker 使用 Gateway::sendToUid()函数发送数据给前端的时候,可以在函数中指定要将数据发送给某几个特定人群。void Gateway::sendToUid(mixed $uid, string $message);向uid绑定的所有在线client_id发送数据。参数$uiduid可以是字符串、数字、或者包含uid的数组。如果为数组,则是给数组内...原创 2018-12-18 17:49:53 · 2598 阅读 · 0 评论