class Ws
{
CONST HOST = "0.0.0.0";
CONST PORT = 9501;
public $ws = null;
public function __construct()
{
$this->ws = new Swoole\WebSocket\Server(self::HOST, self::PORT);
$this->ws->on("open", [$this, 'onOpen']);
$this->ws->on("message", [$this, 'onMessage']);
$this->ws->on("close", [$this, 'onClose']);
$this->ws->start();
}
/**
* 监听ws连接事件
* @param $ws
* @param $request
*/
public function onOpen($ws, $request)
{
var_dump($request->fd . PHP_EOL);
}
/**
* 监听ws消息事件
* @param $ws
* @param $frame
*/
public function onMessage($ws, $frame)
{
echo "ser-push-message:{$frame->data}";
$ws->push($frame->fd, "server-push:" . date('Y-m-d H:i:s') . PHP_EOL);
}
/**
* 监听ws 关闭事件
* @param $ws
* @param $fd
*/
public function onClose($ws, $fd)
{
echo '关闭连接:'.$fd;
}
}
$obj = new Ws();
php--swoole的简单上手面向对象
最新推荐文章于 2020-08-14 11:47:29 发布