您的当前位置:首页>全部文章>文章详情

【PHP】thinkphp5.1+workman+jsonRpc

CrazyPanda发表于:2024-05-27 20:56:25浏览:341次TAG:

1.下载jsonRpc包放到vendor目录下
5d86a22ee371e681edb61b8494a7c36c.png
2.启动文件
5d86a22ee371e681edb61b8494a7c36c.png
3.启动效果:启动命令php allserver.php start
5d86a22ee371e681edb61b8494a7c36c.png
4.RpcClient Rpc客户端+RpcClient Rpc服务端
访问:http://localhost/product/public/index/RpcTest/rpctest
报错:stream_socket_client(): unable to connect to tcp://127.0.0.1:2015 (由于目标计算机积极拒绝,无法连接。
)
解决:启动服务
效果:{“code”:0,“msg”:“ok”,“data”:“+ 0.000 kg\r\n”}

RpcClient Rpc客户端
<?php

namespace app\index\controller;

use think\cache\driver\Redis;
require_once 'RpcClient.php';

class Rpctest
{
    public function rpctest()
    {
        $message=input("message");
        // 服务端列表
        $address_array = array(
            'tcp://127.0.0.1:2015', //我们只有一个服务
        );
        // 配置服务端列表
        $Clients = new \RpcClient("User");
        $Clients::configs($address_array);

        $user_client = $Clients::instance('User');
        //这个User是服务端的类,在JsonRpc/Services/User.php
        //$message="2B2020302E303030206B670D0A";

        $weightvalue=$user_client->processing($message);
        $redis=new Redis();
        $redis->set("weightvalue",trim($weightvalue['data']));
        //var_dump($user_client->getEmail($message));
        return json_encode($weightvalue);
    }
}
RpcClient Rpc服务端
<?php
/**
 *  测试/vendor/jsonrpc/JsonRpc/Services/User.php
 * @author walkor <worker-man@qq.com>
 */
class User
{
   public static function getInfoByUid($uid)
   {
       return array(
               'uid'    => $uid,
               'name'=> 'test',
               'age'   => 18,
               'sex'    => 'hmm..',
               );
   }
   
   public static function getEmail($message)
   {
       //return 'php allserver.php  start';
       $str = pack("H*", $message);
       return $str;
   }
   public static function processing($message){
        //接收到16进制报文转化成正常字符
       $str = @hex2bin($message);
       if ($str) {
           return $str;
       } else {
           $str = pack("H*", $message);
           return $str;
       }
        //return $message;
   }
}

猜你喜欢

【PHP】生成二维码海报
目录1.版本2.安装扩展3.生成海报4.代码解释5.附一个字体文件&nbsp;6.参考文档1.版本php:7.2+ ,本示例使用的是7.3endroid/qr-code :4.* ,本示例使用的是4.3intervention/image:2.* ,本示例使用的是2.7使用前检查下是否启用了 gd2 扩展2.安装扩展composer require endroid/qr-codecomposer require intervention/image3.生成海报&lt;?&nbsp;php &amp;nb
发表于:2023-12-02 浏览:779 TAG:
【PHP】步骤详解Centos中编译安装php8与配置方法
本篇文章给大家带来了关于php的相关知识,其中主要介绍了在Centos系统中是如何编译安装php,以及如何正确配置的,步骤很详细!感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。PHP(全称:PHP:Hypertext Preprocessor,即“PHP:超文本预处理器”)是一种开源的通用计算机脚本语言,尤其适用于网络开发并可嵌入HTML中使用。PHP的语法借鉴吸收C语言、Java和Perl等流行计算机语言的特点,易于一般程序员学习。PHP的主要目标是允许网络开发人员快速编写动态页面。准备工
发表于:2024-01-06 浏览:339 TAG:
【PHP】微信支付v3的jsapi接口接入thinkphp6完整流程
&nbsp; &nbsp; &nbsp; &nbsp; 相信,写过微信支付接口的程序员,都会骂一句,什么垃圾文档。惠州网站建设今天给个完整的解决案例。哎,绕来绕去,把你绕坑里。我也是不知道掉了多少坑才写出这个避坑文档。目的是想让自己记住thinkphp6在接入微信支付v3时候jsapi的时候,不要在掉一次坑。因为,官网文档的说明内容真的让人无语。都严重怀疑,他不想让人成功接入他们支付一样。&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;下面说下我们
发表于:2023-12-01 浏览:794 TAG:
【PHP】php生僻字处理方法
在日常的PHP编程中,我们难免会遇到一些中文生僻字,这些字虽然不常用,但在一些特定的场合下却是必须要用到的。下面我们就来探讨一下PHP处理生僻字的几种方法。一、使用Unicode编码Unicode是一种国际化字符集,它可以表示几乎所有的字符,包括中文生僻字。在PHP中,使用Unicode编码处理生僻字,一般需要使用PHP内置函数chr()和ord()。chr()函数chr()函数可以将一个Unicode码转换为对应的字符,其语法如下:string&nbsp;chr(int&nbsp;$
发表于:2023-12-29 浏览:369 TAG:
【PHP】php如何使用PHP图片处理类库?
hp 图片处理类库是 php 开发者常用的工具之一,它可以帮助我们快速轻松地对图片进行编辑、剪裁、缩放等操作。本文将介绍如何使用 php 图片处理类库。一、什么是 PHP 图片处理类库?PHP 图片处理类库是为了方便 PHP 开发者对图片进行快速处理而开发的一组工具包。它可以处理 JPG、PNG、GIF 和 BMP 等图片格式,实现图片缩放、旋转、裁剪等多种功能。二、PHP 图片处理类库的优点代码简单:使用 PHP 图片处理类库处理图片非常方便,只需要几行代码就可以实现对图片的操作。支持多种图
发表于:2024-03-25 浏览:328 TAG:
【PHP】nginx负载均衡器的部署(5层\7层)
目录什么是负载均衡?实验:实现Web业务的负载均衡(http协议负载均衡)一、实验规划图:如何实现克隆虚拟机呢?二、实验步骤:1、准备4台服务器,一台做负载均衡器,另外的3台做web服务器,每台都需要安装nginx,建议都编译安装nginx,统一安装配置2、安装nginx成功后配置nginx里的网页,使之呈现对应的效果3、修改四台linux机器的名字:4、检查配置是否成功5、对n
发表于:2024-05-29 浏览:366 TAG:
【PHP】PHP8的JIT编译器
而PHP作为一种广泛使用的服务器端编程语言,其性能一直备受争议。然而,PHP8的最新发布引入了一项重大改进 - 即Just-In-Time (JIT)编译器,这使得PHP8成为了一种更高效的语言。JIT编译器是一种动态编译技术,可以将源代码直接编译为机器码,而不是像传统的解释型语言那样逐行解释执行。这意味着PHP8的应用程序在运行时可以享受到与编译型语言相似的执行速度。那么,如何利用PHP8的JIT编译器来提高你的应用程序效率呢?下面我们将通过一些具体的代码示例来说明。首先,你需要确保你的PHP
发表于:2024-08-05 浏览:244 TAG:
【PHP】PHP防止SQL注入的方法
在开发php网站时,经常需要和数据库交互来存储和获取数据,然而,如果不对用户输入的数据进行处理,就可能会导致SQL注入攻击,SQL注入是一种常见的安全漏洞,攻击者可以通过恶意构造的输入数据来进入到数据库中,从而获取或篡改数据的行为+1.使用参数化查询2.输入验证和过滤filter_var 函数过滤用户输入的数据htmlspecialchars() 转换为HTML实
发表于:2024-07-14 浏览:266 TAG:
【PHP】从服务器负载一路走到PHP-FPM优化终于搞定了PHP项目偶尔很慢的问题
原文链接https://zhuanlan.zhihu.com/p/681575918项目情况: 阿里云Rds &nbsp;阿里云Redis PHP8 IN Docker本文会从几个方面来讲PHP线上项目怎么进行性能瓶颈定位,以及优化方法。前段时间有个PHP项目开始出现偶尔有一些请求会超时,最长的请求可能需要长达20S。 一般出现这总情况的时候,我们首先想到的会不会服务器负载不够,或者个某个查询花了太多时间。观察服务器负载服务器负载 30% 左右,一切正常数据库负载 60% 左右,一切正常Redis负载 3
发表于:2024-06-21 浏览:259 TAG:
【PHP】php可以开发动态网站的原因是什么
php可以开发动态网站的原因是:1、PHP语言具有开源性,可以简化开发过程,实现处理不同项目的需求;2、具有可移植性,不在局限于某个特定操作系统进行开发和部署;3、具有很高的可扩展性,支持多种插件和拓展,增强功能和性能;4、简单易学,支持所有的主流操作系统,有大量的支持和教程,使得语法和逻辑直观易于了解;5、处理性能高,可以处理大量的流量和数据,支持多线程并发处理请求等等。本教程操作系统:Windows10系统、php8.1.3版本、Dell G3电脑。PHP是一种通用开源脚本语言,主
发表于:2023-12-19 浏览:336 TAG: