<?phpclassSwooleWebSocket{private$webSocket;private$pdo;publicfunction__construct(){$this->webSocket=newSwoole\WebSocket\Server("192.168.43.91",9001);$this->webSocket->on("workerstart",[$this,"onWorkerStart"]);$this->webSocket->on("open",[$this,"onOpen"]);$this->webSocket->on("message",[$this,"onMessage"]);$this->webSocket->start();}publicfunctiononWorkerStart(Swoole\WebSocket\Server$server,$request){echo"Worker start \n";$dsn="mysql:host=127.0.0.1; port=3306; dbname=shop";$opt=[PDO::MYSQL_ATTR_INIT_COMMAND=>'set names utf8',PDO::ATTR_PERSISTENT=>true,PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION];$this->pdo=newPDO($dsn,'root','123',$opt);if($server->worker_id==0){swoole_timer_tick(3000,[$this,"onTick"]);}}publicfunctiononTick(){$this->onOpen($this->webSocket,"");}publicfunctiononOpen(Swoole\WebSocket\Server$server,$request){echo"webSocket on open \n";$sql="select * from test order by id desc limit 0, 1";$stmt=$this->pdo->query($sql);$result=$stmt->fetch(PDO::FETCH_ASSOC);var_dump($result);foreach($server->connectionsas$key=>$value){if($server->isEstablished($value)){$server->push($value,json_encode($result));}}}publicfunctiononMessage(Swoole\WebSocket\Server$server,$frame){echo"Receive from {$frame->fd}: {$frame->data}, opcode:{$frame->opcode}, finish: {$frame->finish}";$server->push($frame->fd,"This is Server",WEBSOCKET_OPCODE_TEXT,true);}}newSwooleWebSocket();
var wsServer ='ws://192.168.43.91:9001';var websocket =newWebSocket(wsServer);
websocket.onopen=function(evt){
console.log("Connected to WebSocket server.");};
websocket.onclose=function(evt){
console.log("Disconnected");};
websocket.onmessage=function(evt){
console.log('Retrieved data from server: '+ evt.data);};
websocket.onerror=function(evt, e){
console.log('Error occured: '+ evt.data);};