码迷,mamicode.com
首页 > 其他好文 > 详细

workerman实现群聊

时间:2018-06-07 19:32:36      阅读:925      评论:0      收藏:0      [点我收藏+]

标签:workerman实现群聊

  • 服务端:
    <?php
    require_once "../vendor/autoload.php";
    use Workerman\Worker;
    $worker = new Worker(‘websocket://0.0.0.0:2345‘);
    $worker->count = 1;
    $worker->onWorkerStart = function($data){
    echo "连接开始\n";
    };
    $worker->onConnect = function($data){
    echo "连接完成\n";
    };
    $worker->onMessage = function($con,$data) use ($worker){
    echo "接收消息:{$data}\n";
    foreach($worker->connections as $id=>$connection){
        $connection->send($id.‘:‘.$data);
    }
    };
    $worker->onClose = function($data){
    echo "关闭连接\n";
    };
    $worker->onError = function($data){
    echo "遇到错误\n";
    };
    Worker::runAll();
  • 客户端:
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Document</title>
    </head>
    <body>
    <input type="text">
    <br>
    <input type="button" value="提交">
    <script>
        var ws = new WebSocket(‘ws://192.168.8.81:2345‘)
        ws.onopen = function(data) {
            console.log(‘连接开始\n‘)
        }
        ws.onmessage = function(data) {
            console.log(‘接收消息:‘+data.data)
        }
        ws.onclose = function(data) {
            console.log(‘关闭连接\n‘)
        }
        ws.onerror = function(data) {
            console.log(‘遇到错误\n‘)
        }
        var text = document.getElementsByTagName(‘input‘)[0]
        var button = document.getElementsByTagName(‘input‘)[1]
        button.onclick = function(){
            var val = text.value
            ws.send(val)
        }
    </script>
    </body>
    </html>
  • 效果:
    技术分享图片
    技术分享图片
    技术分享图片
  • workerman实现群聊

    标签:workerman实现群聊

    原文地址:http://blog.51cto.com/12173069/2126090

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!