您好,欢迎来到酷乐教育。
搜索
您的当前位置:首页workerman实现简单弹幕的方法

workerman实现简单弹幕的方法

来源:酷乐教育
 弹幕[dàn mù] (barrage),中文流行词语,指的是在网络上观看视频时弹出的评论性字幕。下面我们就来看一下使用workerman实现简单弹幕的方法。

php代码:

<?php 
use WorkermanWorker; 
require_once '../Autoloader.php';//注意 这里要看你的workerman里的这个文件在哪 然后在进行修改 
 
$global_uid = 0; 
 
// 当客户端连上来时分配uid,并保存连接,并通知所有客户端 
function handle_connection($connection) { 
 global $text_worker, $global_uid; 
 // 为这个链接分配一个uid 
 $connection->uid = ++$global_uid; 
 foreach ($text_worker->connections as $conn) { 
 $conn->send("user[{$connection->uid}] online"); 
 } 
} 
 
// 当客户端发送消息过来时,转发给所有人 
function handle_message($connection, $data) { 
 global $text_worker; 
 foreach ($text_worker->connections as $conn) { 
 $conn->send("user[{$connection->uid}] said: $data"); 
 } 
} 
 
// 当客户端断开时,广播给所有客户端 
function handle_close($connection) { 
 global $text_worker; 
 foreach ($text_worker->connections as $conn) { 
 $conn->send("user[{$connection->uid}] logout"); 
 } 
} 
 
$text_worker = new Worker("websocket://0.0.0.0:2347"); 
 
$text_worker->count = 1; 
 
$text_worker->onConnect = 'handle_connection'; 
$text_worker->onMessage = 'handle_message'; 
$text_worker->onClose = 'handle_close'; 
 
Worker::runAll();

HTML代码:

<!DOCTYPE html> 

<html> 
<head> 
 <meta charset="UTF-8"> 
 <title>Simple Chat</title> 
</head> 
<body> 
 <center> 
<h1>Simple Chat</h1> 
<input type="text" id="msg"> 
<button type="button" id="send">send</button> 


<div id="content" style="width:200px;height:200px;border:1px solid red">
 假装在播放视频
 <marquee behavior="" direction=""></marquee>
</div> 
</center>
</body> 
 
<script type="text/javascript"> 
 window.onload = function () { 
 var ws = new WebSocket("ws://127.0.0.1:2347"); 
 
 document.getElementById("send").onclick = function () { 
 var msg = document.getElementById("msg").value; 
 ws.send(msg); 
 }; 
 
 ws.onopen = function () { 
 console.log("连接成功"); 
// ws.send('raid'); 
 }; 
 ws.onmessage = function (e) { 
 document.getElementById("content").innerHTML += '<marquee behavior="" direction="">' + e.data + '</marquee>'; 
 }; 
 }; 
</script> 
 
</html>

本文转自:https://blog.csdn.net/woshiyangyunlong/article/details/80174653

更多workerman知识请关注PHP中文网workerman框架教程栏目。

Copyright © 2019- coolzx.com 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务