中华建设杂志网站,可视化微信小程序制作工具,邢台专业做wap网站,wordpress+整站下载直播行业为赢得更广泛用户的青睐#xff0c;自然要不断开发更有趣的玩法、模式#xff0c;在直播源码中加入主播PK功能就是一种提高直播互动性、激发用户好胜心的方法#xff0c;一方面这种方法可以吸引更多用户观看#xff0c;增加主播的曝光率#xff0c;另一方面它又能…直播行业为赢得更广泛用户的青睐自然要不断开发更有趣的玩法、模式在直播源码中加入主播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还能做更多的事。