介绍
这篇文章主要介绍了workerman + thinkphp制作简易聊天室的示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
1:环境在窗下面的,thinkphp3.2
2:下载GatewayWork,放到
目录下
3:然后双击打开
这个文件开启服务
4:所有的逻辑均在
事件。php这个文件里面
5:当用户连接到服务器时,触发
,初始化,发送client_id
6:收到消息时,
出发了这个方法,消息,就是客户端发送过来的数据
7:附上代码
/* * *大敌;当客户端发来消息时触发 ,* @param int  client_id 美元;连接id ,* @param mixed  message 美元;具体消息 ,*/public static  function onMessage (client_id美元,美元消息) { ,,,,//1:收到消息之后转成数组() ,,,,data 美元;=,json_decode(美元消息,真的); ,,,,如果(! $ data) { ,,,,,,返回; ,,,,} ,,,,//2:判断类型,绑定是client_id与用户id绑定, ,,,,//say 发送消息的事件 ,,,,switch ($ data[& # 39;类型# 39;]),{ ,,,,,,//绑定 ,,,,,,case & # 39;结合# 39;: ,,,,,,,,,,from_id 美元;=,$ data [& # 39; from_id& # 39;]; ,,,,,,,,,,//把获取的到用户id与client_id进行绑定 ,,,,,,,,,,网关:bindUid (client_id, from_id美元); ,,,,,,,,,,返回; ,,,,,,//发送文字消息 ,,,,,,case & # 39;说# 39;: ,,,,,,,,,,//获取到客户端传过来的信息 ,,,,,,,,,,text 美元;=,$ data[& # 39;数据# 39;]; ,,,,,,,,,,from_id 美元;=,$ data [& # 39; from_id& # 39;]; ,,,,,,,,,,to_id 美元;=,$ data [& # 39; to_id& # 39;]; ,,,,,,,,,,//封装消息 ,,,,,,,,,,info 美元;=,阵列( ,,,,,,,,,,,,& # 39;类型# 39;=祝辞& # 39;文本# 39; ,,,,,,,,,,,,& # 39;数据# 39;=在文本,美元 ,,,,,,,,,,,,& # 39;from_id& # 39;=祝辞from_id美元, ,,,,,,,,,,,,& # 39;to_id& # 39;=祝辞to_id美元, ,,,,,,,,,,,,& # 39;时间# 39;=祝辞日期(& # 39;Y-m-d h:我:& # 39;,时间()), ,,,,,,,,,,); ,,,,,,,,,,网关:sendToUid (to_id美元,json_encode ($ info)); ,,,,,,,,,,返回; ,,,,,,//发送图片 ,,,,,,case & # 39; img # 39;: ,,,,,,,,,,from_id 美元;=,$ data [& # 39; from_id& # 39;]; ,,,,,,,,,,to_id 美元;=,$ data [& # 39; to_id& # 39;]; ,,,,,,,,,,img 美元;=,$ data [& # 39; img # 39;]; ,,,,,,,,,,//封装消息 ,,,,,,,,,,info 美元;=,阵列( ,,,,,,,,,,,,& # 39;类型# 39;=祝辞& # 39;img # 39; ,,,,,,,,,,,,& # 39;数据# 39;=祝辞img美元, ,,,,,,,,,,,,& # 39;from_id& # 39;=祝辞from_id美元, ,,,,,,,,,,,,& # 39;to_id& # 39;=祝辞to_id美元, ,,,,,,,,,,,,& # 39;时间# 39;=祝辞日期(& # 39;Y-m-d h:我:& # 39;,时间()), ,,,,,,,,,,); ,,,,,,,,,,网关:sendToUid (to_id美元,json_encode ($ info)); null null null null null nullworkerman + thinkphp制作简易聊天室的示例