小程序开发之socket编程 小程序直播答题开发的直播弹幕使用web socket编程

最近有一个项目很火,那就是直播答题的,接到公司的这个任务,开发直播答题的聊天室功能。在线的人相互聊天。之前做过类似的,当时都是使用的ajax轮询的,这种非常的耗费服务器。所以这次就开始使用socket来做,我主要负责后端开发,主要就是配合前端做一些接口。

小程序前端使用微信的空间 wx.connectSocket  做好相关的wss配置,然后我这边使用PHP来做socket 服务读写。

公司采用的是gateway worker 具体不多说,大家可以看他的文档哈,我就直接上代码了

GatewayWorker2.x 3.x 手册
http://doc2.workerman.net/326102

首先小程序前端使用wx.connectSocket 连接成功socket以后会返回 clientid,我们就是用后端php做clientid绑定,将每场直播答题考试的会场号作为一个群组,

 Gateway::joinGroup($clientid, $group_id);

绑定成功。然后小程序里的用户发送消息,就是用curl  post消息内容到后端php接口上

一样,不多说,我直接上代码了   向一个群组的所有终端客户推送消息,这样只要前端发送消息,后端就直接拿到内容,推送给所有的终端用户。注意,推送的内容记得使用json编码再推送哦。

 Gateway::sendToGroup($groupName=$redisName, $sendDataString);
                $ary[‘groupCount‘]= Gateway::getClientCountByGroup($groupName);
                $ary[‘groupClientsession‘]= Gateway::getClientSessionsByGroup($groupName);
                $ary[‘getAllClientCount‘]= Gateway::getAllClientCount($groupName);

好了,今天就给大家分享到这里了。希望对大家有所帮助。最近的直播答题非常火,希望这个分享能够帮助大家开发这个直播聊天室提供帮助。

我,秋峰,phper,目前自创业,做项目系统开发,php后端加小程序前端结合  欢迎交流  大家相互学习 共同提高 我的 微信号:qiufeng2983

原文地址:https://www.cnblogs.com/xinweiyun/p/8324777.html

时间: 2024-10-01 10:23:02

小程序开发之socket编程 小程序直播答题开发的直播弹幕使用web socket编程的相关文章

微信小程序开发之IOS/Android兼容坑(持续更新)

一.时间转换问题: 这不只是小程序上面的问题是ios系统 都有这个问题就是new  Date("2017-06-16") 在IOS会出现NAN的情况所以对于时间转换需要另行封装,解决方案如下 1.替换”-“为”/“ 2.删除”.“后面的字符串(带毫秒也会有问题) 二.定位问题 整个页面的fixed定位,在ios下下拉会触发下拉事件,但是没有动画效果.Android就能正常运行 三.absolute定位问题, 这不属于手机兼容问题 使用absolute定位,并且宽带设置了100% 并且设

微信小程序开发之Http封装

公司突然要开放微信小程序,持续蒙蔽的我还不知道小程序是个什么玩意. 于是上网查了一下,就开始着手开发..... 首先开发客户端的东西,都有个共同点,那就是  数据请求! 看了下小程序的请求方式大概和ajax请求差不多,所以先打好基础 从封装http请求开始 好了废话不多说了,上代码 首先....当然是建立配置文件,用来配置请求根路径 config.js export default { basePath: 'http://192.168.6.2:9002/api', fileBasePath:

微信小程序开发之tab导航栏

实现功能: 点击不同的tab导航,筛选数据 UI:   js: data:{ navbar: ['半月维保', '季度维保', '半年维保',"年度维保"],    //count:[0,2,3],                                  //记录不同状态记录的数量    currentTab: 4, } //响应点击导航栏  navbarTap: function (e) {    var that = this;    that.setData({    

微信小程序开发之scroll-view

本文主要介绍通过scroll-view实现回至顶部,如下效果 一.页面代码 顶部的工具栏放一个查找按钮,滚动区域实现分页,目的就是为了点击上一页\下一页时,自动回到顶部. scroll-view必须指定scroll-y属性和该区域的高度 <view class="page"> <view class="swiper-tab border-top"> <view> <text class='text-primary'>查

php开发之javascript第一个程序

关于基本的概念在这里就不说了,我按照书上的代码敲出了自己的第一个javasript程序,也就是自己的hello world .对自己是一个很大的鼓励.下面我把代码贴出来和大家一块学习. index.php <?php header('Content-type:text/html'); include 'test.html'; ?> test.html <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&qu

物联网的全栈开发之路

本文由嵌入式企鹅圈原创团队成员-华南师范大学物联网创新中心黄鑫执笔. 两年前我还一直专注在android系统定制领域的研究,对物联网关注比较少,尽管我个人对智能家居的概念和场景体验也比较熟悉.真正引起我注意的是有一次在车上,听到电视广播说打开蓝牙,用手机摇一摇就可以摇到红包,我就觉得这个场景很棒,然后就知道了ibeacon和微信摇一摇周边,知道了微信硬件平台和物联网的发展已经深入渗透到我们的生活了.尽管我觉得自己进入物联网不算早,但是考虑到传统电子行业都有升级到物联的需求,加上自身在嵌入式和AP

Android插件化开发之Hook StartActivity方法

第一步.先爆项目demo照片,代码不多,不要怕 第二步.应该知道Java反射相关知识 如果不知道或者忘记的小伙伴请猛搓这里,Android插件化开发基础之Java反射机制研究 http://blog.csdn.net/u011068702/article/details/49863931 第三步.应该知道Java静态代理知识 如果不知道或者忘记的小伙伴请猛搓这里,Android插件化开发基础之静态代理模式 http://blog.csdn.net/u011068702/article/detai

iOS开发之UISearchBar初探

iOS开发之UISearchBar初探 UISearchBar也是iOS开发常用控件之一,点进去看看里面的属性barStyle.text.placeholder等等.但是这些属性显然不足矣满足我们的开发需求.比如:修改placeholder的颜色.修改UISearchBar上面的UITextfield的背景颜色.修改UITextfield上面的照片等等. 为了实现上述的需求,最好写一个UISearchBar的子类就叫LSSearchBar吧 LSSearchBar.h如下: #import <U

Android插件化开发之OpenAtlas插件启动方式与插件启动广播

到现在为止已经写了6篇文章了 Android插件化开发之OpenAtlas初体验 Android插件化开发之OpenAtlas生成插件信息列表 Android插件化开发之OpenAtlas资源打包工具补丁aapt的编译 Android插件化开发之OpenAtlas插件适配 Android插件化开发之解决OpenAtlas组件在宿主的注册问题 Android插件化开发之OpenAtlas中四大组件与Application功能的验证 这篇文章主要介绍一下OpenAtlas插件的几种启动方式,在Atl