您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關workerman實現簡單彈幕的示例,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
彈幕[dàn mù] (barrage),中文流行詞語,指的是在網絡上觀看視頻時彈出的評論性字幕。使用workerman實現簡單彈幕的方法
php代碼:
<?php use Workerman\Worker; 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> <h2>Simple Chat</h2> <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>
關于“workerman實現簡單彈幕的示例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。