workerman-json-rpc:使用workerman快速进行RPC开发的套路

本文介绍了如何使用Workerman框架实现JsonRpc远程调用,包括搭建服务端与客户端的过程,以及如何进行服务调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前我们已经简单的了解了一下『远程调用PRC』
1.Socket学习 - 撕开远程调用的逼格外衣(上)
2.Socket学习 - 撕开远程调用的逼格外衣(下)超简易仿制一个RPC客户端
这里写图片描述

二、

今天来学习一下workerman这个框架上的其他应用『Json Rpc远程调用框架』,
下载地址:http://www.workerman.net/workerman-jsonrpc
介绍:

JSON (JavaScript Object Notation)是一种用于在组件间交互信息的数据交换格式,其是以JavaScript 为基础的数据表示语言。既方便于人的读写习惯,又有利于计算机的解析和生成。
RPC(Remote Procedure Call)是远程调用,既客户端通过某种协议向服务器发起请求并获得结果。RPC使得开发分布式网络程序非常方便,并且能极大限度的将网络系统的各个部分解耦,方便后续开发、维护。
workerman-json-rpc是一个以workerman作为服务器容器,使用Json作为协议简单高效的RPC远程调用框架。

这里写图片描述
下载解压之后目录结构如下图,我们把JsonRpcStatistics 这2个目录的全部拷贝到 我们自己的项目中。
这里写图片描述
拷贝到jsonrpc 文件夹中,workerman 目录还是我们最原始是workerman核心包。

1.新建allserver.php 来作为我们的服务端:

<?php

//引入Workerman核心包
require_once 'workerman/Autoloader.php';
//引入jsonRpc
require_once 'jsonrpc/JsonRpc/start.php';

启动:

php allserver.php  start

这里写图片描述

2.客户端
我们在另外一个网站(客户端)来调用我们服务端。
因为我们服务端使用的是『workerman-json-rpc』这个插件,其中也封装了客户端的代码。
我们把JsonRpc/Clients/PrcClient.php文件拷贝到我们的客户端项目,然后新建一个test.php文件来测试
这里写图片描述
test.php:

<?php

require_once 'RpcClient.php';

 // 服务端列表
$address_array = array(
    'tcp://10.211.55.13:2015', //我们只有一个服务
);
// 配置服务端列表
RpcClient::config($address_array);

$uid = 567;
$user_client = RpcClient::instance('User'); 
//这个User是服务端的类,在JsonRpc/Services/User.php

//调用User类中的方法
var_dump($user_client->getEmail(123));

这里写图片描述

3.回到服务端,新建新闻服务News.php
这里写图片描述
可以看到,默认有Blog类和User类(前面我们已经在客户端调用过)。

在服务端新建了一个News 服务后,不需要重启服务(不需要再次执行 php allserver.php start)。

来到客户端测试:

<?php

require_once 'RpcClient.php';

 // 服务端列表
$address_array = array(
    'tcp://10.211.55.13:2015', //我们只有一个服务
);
// 配置服务端列表
RpcClient::config($address_array);

//客户端调用新闻服务
$client = RpcClient::instance('News');
var_dump($client->getTodayNews());

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值