直播行业为赢得更广泛用户的青睐,自然要不断开发更有趣的玩法、模式,在直播源码中加入主播PK功能就是一种提高直播互动性、激发用户好胜心的方法,一方面这种方法可以吸引更多用户观看,增加主播的曝光率,另一方面它又能激发用户的购买欲,增加平台和主播的收入。

PK功能可以使用当下十分流行的Socket.IO为基础来实现。Socket.I O 是一个面向实时 web 应用的 JavaScript 库。它使服务器和客户端之间实时双向的通信成为可能。它由两个部分组成:客户端库和一个面向Node.js的服务端库。像Node.js一样,它也是事件驱动的。并且它有一个优势,它会自动选择合适的双向通信协议。我们充分利用了socket.io的优势,实现了对直播源码中PK功能流程的控制。

首先,对Socket.IO的App客户端进行初始化设置,连接服务端(基础代码如下):

try {

IO.Options option = new IO.Options();

option.forceNew = true;

option.reconnection = true;

option.reconnectionDelay = 2000;

mSocket = IO.socket(AppConfig.getInstance().getSocketServer(), option);

mSocketHandler = new SocketHandler();

} catch (Exception e) {

e.printStackTrace();

L.e(TAG, "socket异常--->" + e.getMessage());

}

public SocketUtil connect(String liveuid, String stream) {

if (mSocket != null) {

mSocket.on(Socket.EVENT_CONNECT, mConnectListener);//连接成功

mSocket.on(Socket.EVENT_DISCONNECT, mDisConnectListener);//断开连接

mSocket.on(Socket.EVENT_CONNECT_ERROR, mErrorListener);//连接错误

mSocket.on(Socket.EVENT_CONNECT_TIMEOUT, mTimeOutListener);//连接超时

mSocket.on(Socket.EVENT_RECONNECT, mReConnectListener);//重连

mSocket.on(CONN, onConn);//连接socket消息

mSocket.on(BROADCAST, onBroadcast);//接收服务器广播的具体业务逻辑相关的消息

mSocket.connect();

mLiveuid = liveuid;

mStream = stream;

}

return this;

}

然后再与服务端实现通信。只需要简单传入参数,并emit到服务端,服务端接收后通过逻辑处理,向相应的App端转发socket信息,这时,接收到消息的客户端根据socket的method、action等特定字符判断是否需要作出相应操作,若接收到的信息是自己需要的,则作出相应操作,否则不响应,至此,一个通讯流程就这样完成了。

public void anchorBusy(String touid) {

if (mSocket == null) {

return;

}

mSocket.emit(SEND,

new SendSocketBean()

.param("_method_", LINK_MIC)   //参数

.param("action", 7)  //参数

.param("msgtype", 10) //参数

.param("touid", touid)  //参数

.create()

);

}

通过使用Socket.I O,可以实现A客户端与服务端与B客户端进行连麦PK的操作,当然,Socket.IO还能做更多的事。

php直播pk规则,直播源码中的主播PK功能是如何实现的相关推荐

  1. 视频直播源码中主播印象功能开发

    1.在视频直播源码中当用户或主播点击添加印象后进入主播印象界面,首先根据上个页面传值判断自己是否是主播,然后显示不同的标题 mineL = [[UILabel alloc]initWithFrame: ...

  2. 直播带货app源码搭建,从直播CDN原理说起

    到处都在谈直播,直播带货app源码技术目前越来越大众化,但也面临着更多的挑战.本次分享主要介绍直播的一般流程,CDN的技术原理及架构,CDN直播技术的难点和对应的解决方案.希望能够给大家带来帮助,更希 ...

  3. 直播带货app源码,实现直播连麦和PK

    一.概述 连麦:是指直播带货app源码中,由观众向主播发起连线请求,在主播和该观众之间建立低延迟的通讯链路,而其他观众可以看到"主播+连麦观众"的合成音视频内容. PK:是指直播过 ...

  4. 一对一直播源码一对一直播源码搭建你要知道的功能

    一对一直播源码一对一直播源码搭建你要知道的功能 2020年初全国疫情使的各方面企业都在停工,经济压力巨大.通过全国人民的努力与积极配合我国疫情得到得到控制并取得巨大的胜利,全国各地都在积极复工复产!大 ...

  5. 自己搭建网红直播带货平台源码该怎么做

    直播带货作为"直播+"形态的一种,在近两年收到了广泛的关注,本文主要讲述:自己搭建网红直播带货平台源码,需要注意些什么,有哪些常见问题? 搭建网红直播平台源码需要多少人手: 产品组 ...

  6. 小程序直播带货app源码直播组件接入指引

    小程序直播带货app源码直播组件接入指引 一.简介 小程序直播带货系统,是微信提供给小程序开发者的直播组件.通过调用该组件,商家可以在直播带货app源码中实现直播功能. 按下面的使用说明接入,在你的直 ...

  7. 直播带货app源码,进行直播平台的环境部署

    直播项目环境部署 最近总是接到直播带货app源码的开发,在环境部署的过程中踩了不少坑.现在我将环境部署的完整教程分享给大家. 一 .搭建前期准备 注:操作系统centos7.0以上 64位,直播带货a ...

  8. 一对一软件开发:在一对一社交app源码中加入这个功能,很有用...

    一对一软件开发在年内倍受欢迎,随着社交app的盛行,越来越多的人愿意涉足社交行业,但传统社交平台需要大量资金支持运营,而一对一直播社交平台由于其机制限制,对带宽使用较少.对平台能承受的并发量要求低.所 ...

  9. 直播平台源码中的推拉流是什么

    关于直播平台源码中的推流和拉流,最常用的就是RTMP和RTSP协议了 推流,指的是把采集阶段封包好的内容传输到服务器的过程,推流是直播端需要完成的步骤.拉流是指服务器已有直播内容,用指定地址进行拉取的 ...

最新文章

  1. 目标检测入门和实现思路!
  2. Android/Ophone中的悬浮对话框和即点即关对话框
  3. 多款eclipse黑色坏境任你选择,只要导入配置
  4. python numpy.mean() axis参数使用方法【sum(axis=*)是求和,mean(axis=*)是求平均值】
  5. JetBrains——账户登录错误(JetBrains Account Error:JetBrains Account connection error: www.jetbrains.com)解决方案
  6. Dandan's lunch
  7. 实习二 分组密码加密_分组密码加密模式
  8. Waud.js – 使用HTML5降级处理的Web音频库
  9. 将数据追加到html 表格中,【HTML】使用Jquery实现将输入数据添加至表格中
  10. 外网资源下载速度过慢的问题
  11. day08—css布局解决方案之多列布局
  12. 整站数据下载工具:SiteSucker for mac
  13. 免杀Payload生成工具Veil的下载与使用
  14. iphone型号表_iPhone12各版本有什么区别 苹果12四款机型配置表一览
  15. 5369. 统计作战单位数
  16. 冯康 计算机组装与维护,计算机组装与维护_毕业论文.doc
  17. echart地图上自定义图标
  18. Android Studio 截屏
  19. docker搭建企业级habor仓库
  20. 互联网快讯:微信视频号公布MCN招募计划;极米投影产品双十一持续热销;亚马逊计划再发射4538颗卫星

热门文章

  1. 虚拟化精华问答 | 如何为虚拟机分配任务?
  2. Cloud一分钟 | 北京13部门召开座谈会,要求阿里京东等平台规范开展双11促销活动...
  3. es6 箭头函数 rest参数 扩展运算符
  4. windows oracle 内存大,如何设计Oracle数据库内存的大小
  5. XFire报错:org.codehaus.xfire.fault.XFireFault
  6. PLSQL 查询结果只显示年月日不显示时分秒的解决方法
  7. PLSQL 设置日期格式为年月日不显示时分秒
  8. java.sql.SQLSyntaxErrorException: ORA-00923: 未找到要求的 FROM 关键字
  9. 还在用 Dockerfile 部署 Spring Boot?out 啦!试试谷歌的大杀器 Jib
  10. gb-heima/order 项目 处理