微信答题小程序 微信小程序 答题 demo 头脑王者这样的答题小程序开发 答题的微信小程序开发经验 微信答题比赛小程序
最近随着王思聪的我撒币,我快乐,直播答题非常火。同时知乎的答题小程序头脑王者也非常火爆。大家在微信和微信群里玩的不亦乐乎。
好吧,快乐总是属于你们,我却只能埋头写代码。。。
公司要求赶紧开发一个这样的答题小程序出来,于是参考了几大现在已经有的答题系统,我们开始了,属于我自己的答题小程序开发之路。
先说几个难点,第一个是直播答题,做聊天室的。如何让用户在聊天室里聊天,做直播答题,大家看到,每个人都可以在里面聊天。我们传统的聊天室大部分用的ajax做轮询,考虑到用户数大的话,轮询对服务器压力还是蛮大的,于是我们放弃了使用ajax轮询的方式来做聊天室。采用的是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);
好吧,这些算是把聊天室的做完了。接着就开始做双方PK的了,PK答题,如何找到匹配对手,还记得之前说的clientid吗? 把当前激活的有效的clientid保存起来,然后给他们两两配对,给他们推送答题,也是用到webscoket,推送给他们两个人,然后同时还是答题,答题结束后将他们的题目同时用curl 方式 post到接口上,接口来计算他们的最后成绩,然后返回给他们。又要用到webscoket来做推送了。
好了,就介绍到这里吧,现在答题小程序非常火,赶紧你也开始开发一个你自己的答题小程序吧。
我,秋峰,phper,目前自创业,做项目系统开发,php后端加小程序前端结合 今天就给大家分享到这里,希望对大家有所帮助。欢迎交流 大家相互学习 共同提高 我的 微信号:qiufeng2999
微信答题小程序 微信小程序 答题 demo 头脑王者这样的答题小程序开发 答题的微信小程序开发经验 微信答题比赛小程序的更多相关文章
- Taurus.MVC 微服务框架 入门开发教程:项目部署:5、微服务应用程序发布到Docker部署(下)。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:1、微服务应用程序常规部署实现多开,节点扩容。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:3、微服务应用程序版本升级:全站升级和局部模块升级。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:4、微服务应用程序发布到Docker部署(上)。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:6、微服务应用程序Docker部署实现多开。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 开源地址:https://github.com/cyq1162/Taurus.MVC 本系列第一篇:Tauru ...
- 头脑王者pk答题小程序开发思路 微信pk答题小程序开发 PK答题游戏你也可以做 微信pk答题游戏
想必大家最近的朋友圈和微信群里都被头脑王者PK答题刷屏了吧.确实很好玩,尤其是2018年的这波风口,手机答题,大家掏出手机,创建一个好友PK,然后你的好友点击进来就可以和你一起PK答题.比之前的游戏好 ...
- 提取微信小程序“头脑王者”业务逻辑
产品经理今天让我整理微信小程序"头脑王者"的产品逻辑,花了一天时间在XMind写了写,整理后的内容如图,分享给大家希望大家可以多多点评,互相学习,不知道应该写什么,重要的内容都在图 ...
- 类似微信聊天小程序-网易云信,IM DEMO小程序版本
类似微信聊天小程序-网易云信,IM DEMO小程序版本 代码地址: https://github.com/netease-im/NIM_Web_Weapp_Demo 云信IM DEMO 小程序版本 ( ...
- 微信小程序初探(二):阅读官方demo源码
阅读demo有助于理解逻辑,而且demo源码中应该包含了框架开发人员想要表达的意思的精华,先从app.js着手来阅读. 附带贴下说明: https://mp.weixin.qq.com/debug/w ...
随机推荐
- C++STL概览
本文转自http://www.cnblogs.com/ggjucheng/archive/2012/01/03/2310884.html 引言 C++ STL可以分为标准容器,算法和函数对象,迭代器和 ...
- javascript原型继承圣杯模式
javascript纯面向对象开发需要使用到的一个模式,来对对象之间原型继承做中间层代理避免重复继承与代码杂乱 <!DOCTYPE html> <html lang="en ...
- CentOS7练习
为编译安装的httpd服务,实现service unit文件破解centos7 口令修改默认的启动内核为新编译内核启动时临时禁用SELinux启动时进入emergency模式卸载编译安装的新内核
- CentOS7下systemd
配置文件: /usr/lib/systemd/system:每个服务最主要的启动脚本设置,类似于之前的/etc/init.d/ /run/systemd/system:系统执行过程中所产生的服务脚本, ...
- Voyager的Roles和Pemissions
以Page为例讲解: 取消admin的roles下Pages的Browse Pages权限: 打开web.php文件,添加: Route::get('pages', function(){ retur ...
- 用Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
一.用默认设置绘制折线图 import matplotlib.pyplot as plt x_values=list(range(11)) #x轴的数字是0到10这11个整数 y_values=[x* ...
- 使用TensorFlow的卷积神经网络识别手写数字(2)-训练篇
import numpy as np import tensorflow as tf import matplotlib import matplotlib.pyplot as plt import ...
- ProC第二弹
一.提要 上文简单介绍了Windows下ProC配置开发,这次我们使用Linux平台再次配置Oracle ProC开发环境(RedHat Linux 9 + Oracle 92). <OR ...
- 官网下载MySQL
1)首先我们访问MySQL官网https://dev.mysql.com/,然后如下 2)我们向下拉取滚动条,来到如下界面,选择Source Code 3)向下拉取滚动条,来到如下界面,操作如下: 4 ...
- Memcached配置失误引发的Keystone token丢失的问题
故障现象 近期公司的OpenStack上频繁出现虚拟机创建失败的情况,查看日志定位到问题出在neutron-server向keystone认证token失败. 故障原因 Keystone所使用的Mem ...