topthink-swoole3.0无法向其他客户端推送

浏览:2940 发布日期:2019/08/25 分类:ThinkPHP6专区 关键字: thinkphp6 topthink-swoole3
客户端和服务端可以成功握手,但是我使用两个客户端的时候不能互通,服务端不能给其他客户端推送,想请教一下应该怎么解决?<?php
use \think\swoole\facade\Websocket;

class Socket
{
      public function test () {
      Websocket::on('tomsg', function (\think\swoole\Websocket $websocket, $data) {
        
        $websocket->broadcast()->to('room1')->emit('getmsg', $data);
      });
      Websocket::on('joinroom', function (\think\swoole\Websocket $websocket, $data) {
        echo '加入房间1'.PHP_EOL;
          $websocket->join('room1');
      });
    }
}

$ws = new Socket;
$ws->test();
这是websocket.php
下面是客户端代码,两个页面相同的代码<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>swoole test</title>
</head>
<body>
  <script src="/static/socket.io-client/dist/socket.io.js"></script>
  <script>
    const socket = io('http://swoole.xxx.cn:12300', {transports: ['websocket']});
    socket.emit("joinroom", "1")
    socket.on("getmsg",function(res){console.log(res)});
  </script>
</body>
</html>
最佳答案
评论( 相关
后面还有条评论,点击查看>>