使用swoole websocket 实现执行console php文件 把输出返回给浏览器

2021-07-15 05:04

阅读:528

YPE html>

标签:char   content   cal   device   pat   default   query   request   push   

 1 swoole websocket 服务端
 2 php
 3 $server = new swoole_websocket_server("0.0.0.0", 9501);
 4 
 5 $server->on(‘open‘, function (swoole_websocket_server $server, $request) {
 6         echo "server: handshake success with fd{$request->fd}\n";
 7 });
 8 
 9 $server->on(‘message‘, function (swoole_websocket_server $server, $frame) {
10         #echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n";
11         if ($frame->data == 1) {
12                 $handle = popen(‘php ./console.php‘, ‘r‘);
13              while (!feof($handle)) { $content = fgets($handle);
14                         $server->push($frame->fd, $content);                        
15                 }
16                 pclose($handle);
17         }
18 });
19 
20 $server->on(‘close‘, function ($ser, $fd) {
21         echo "client {$fd} closed\n";
22 });
23 
24 $server->start();
 1 console.php脚本
 2 php
 3 
 4 echo ‘12‘.PHP_EOL;
 5 echo ‘34‘.PHP_EOL;
 6 
 7 sleep(10);
 8 echo ‘56‘.PHP_EOL;
 9 echo ‘78‘.PHP_EOL;
10 sleep(10);
11 echo ‘exit‘;
 1 前端脚本
 2 
 3 
 4 5      6      7      8     Document 9 
10 
11     测试swoole websocket
12     
13     
14 15
16 17 35 36

执行swoole脚本 打开浏览器控制台 观察效果

使用swoole websocket 实现执行console php文件 把输出返回给浏览器

标签:char   content   cal   device   pat   default   query   request   push   

原文地址:http://www.cnblogs.com/a-flydog/p/7073764.html


评论


亲,登录后才可以留言!