首页 > 作文

[PHP] php作为websocket的客户端实时读取推送日志文件

更新时间:2023-04-08 02:35:00 阅读: 评论:0

首先要使用compor来下载一个第三方扩展就可以实现php的websocket客户端,直接在当前目录生成下compor.json文件就可以了
compor require textalk/websocket

require('vendor/autoload.php');u websocket\client;$client = new client("ws://echo.websocket.org/");$client->nd("hello websocket.org!");echo $柏姿client->receive();
教师寄语高中

配合php的读取文件操作,只读取最新的追加的内容,下面代码为读取日志的客户端 , 发送给10.xx.2.xx:9501

#!/usr/bien的意思n/env php <?phprequire('vendor/autoload.php');u websocket\client;if(2 != count($argv)){    fwrite(        stderr,        "调用格式错误!使用格式 ./xxx filename".php_eol    );      return 1;}$file_name      = $argv[1];define("max_show", 8192);$file_size      = 0;$file_size_new  = 0;$add_size       = 0;$ignore_size    = 0;$fp = fopen($file_name, "r");$client = new client("ws://10.xx.2.xx:9501/");while(1){    clearstatcache();    $file_size_new  = filesize($file_name);    $add_size       = $file_size_new - $file_size;    if($add_size > 0){         if($add_size > max_show){            $ignore_size    = $add_size - max_show;            $add_size       = max_show;            fek($fp, $file_size + $ignore_size);        }           //直接输出内容        // fwrite(        //     stdout,        //     fread($fp, $add_size)        // );          $client->nd(fread($fp, $add_size));        $file_size  = $file_size_new;    }    usleep(50000);}fclo($fp);

服务端的代码使用swoole作为服务端,并且在收到消息后给所有的连接广播,执行服务端

<?php$rver = new swoole\websocket\rver("0.0.0.0", 9501);$rver->on('open', function (swoole\websocket\rver $rver, $request)u($fds) {    echo "rver: handshake success with fd{$request->fd}\n";}类似盲探的电影);$rver->on('message', function (swoole\websocke一般过去时的构成t\rver $rver, $frame)u($fds) {    echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n";    foreach($rver->connections as $fd){        $rver->push($fd, $frame->data);    }});$rver->on('clo', function ($r, $fd) {    echo "client {$fd} clod\n";});$rver->start();

执行客户端

可以在浏览器直接实时输出

本文发布于:2023-04-08 02:34:59,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/961cf1bda3126c1ca52b3bee2741cf20.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:[PHP] php作为websocket的客户端实时读取推送日志文件.doc

本文 PDF 下载地址:[PHP] php作为websocket的客户端实时读取推送日志文件.pdf

标签:服务端   客户端   就可以   代码
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图