玩了一下websocket
博客专区 > xueyi28 的博客 > 博客详情
玩了一下websocket
xueyi28 发表于1年前
玩了一下websocket
  • 发表于 1年前
  • 阅读 24
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

nginx配置

        location /wsapp/ {
            proxy_pass http://0.0.0.0:9501;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
        }

后端代码

<?php
$server = new swoole_websocket_server("0.0.0.0", 9501);

$server->on('open', function (swoole_websocket_server $server, $request) {
        echo "server: handshake success with fd{$request->fd}\n";
        });

$server->on('message', function (swoole_websocket_server $server, $frame) {
        echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n";
        $server->push($frame->fd, "this is server");
        });

$server->on('close', function ($ser, $fd) {
        echo "client {$fd} closed\n";
        });

$server->start();

前端代码

    <script>
      var socket = new WebSocket('ws://myblog.com/wsapp/'); 
        // 打开Socket 
        socket.onopen = function(event) { 

      // 发送一个初始化消息
      socket.send('I am the client and I\'m listening!'); 

      // 监听消息
      socket.onmessage = function(event) { 
        console.log('Client received a message',event); 
      }; 

      // 监听Socket的关闭
      socket.onclose = function(event) { 
        console.log('Client notified socket has closed',event); 
      }; 

      // 关闭Socket.... 
      //socket.close() 
        };
    </script>
共有 人打赏支持
粉丝 7
博文 75
码字总数 29178
×
xueyi28
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: