rpcRPC

 

server.php

 

<?php

$server = new Swoole\server('0.0.0.0',9502);
$server->set([
'worker_num'=>5
]);
$server->on('receive',function($server,$fd,$id,$data){
echo '客户端发送数据来了!';
$jsonData=json_decode($data,true);
$className=$jsonData['service'];
$actionName=$jsonData['action'];
$id=$jsonData['params']['id']
include_once __DIR__.'/server/'.$className.'.php';
$obj=new $className;
$data=$obj->$actionName($id);
$server->send($fd,json_encode($data));
});


$server->start();

client.php

class Client{
protected $ip;
protected $port;
protected $serviceName;
public funciton __construct($ip,$port){
$this->ip=$ip;
$this->port=$port;
}

public funciton __call($name,$params){
if($name=='serevice'){
$this->serviceName=$name;
return $this;
}
$client = new Swoole\client(SWOOLE_SOCK_TCP);

$client->connect('127.0.0.1',9502);

//rpc通讯  自定义的协议
$data=[
'service'=>'UserService',//服务名称
'action'=>'info',//方法
'token'=>'',
'params'=>['id'=>11111]
];

$client->send($data);
$recev = $client->recv();

var_dump($recv);
}
}

$client= new Client('127.0.0.2',9502);
$client->service('UserService')->info(5);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值