zoukankan      html  css  js  c++  java
  • workerman实现简单弹幕的方法

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

    怎么从一名码农成为架构师的必看知识点:目录大全(持续更新)50W年薪挑战!

    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="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实现简单弹幕的方法的详细内容

    更多内容请访问

    怎么从一名码农成为架构师的必看知识点:目录大全(持续更新)50W年薪挑战!

     

  • 相关阅读:
    J. 最大权边独立集 题解(树上背包)
    F. 地图压缩 题解(kmp 最小循环节)
    Sum of Log 题解(数位dp)
    F. Scalar Queries 题解(思维+线段树)
    B. 攻防演练 题解(思维+倍增)
    Bit Sequence 题解(数位dp)
    机器学习
    Android学习笔记
    sqoop
    Initialization failed for block pool Block pool
  • 原文地址:https://www.cnblogs.com/a609251438/p/12510093.html
Copyright © 2011-2022 走看看