Que es RPC
El nombre completo de RPC es Llamada a procedimiento remoto, que se traduce en chino como llamada a procedimiento remoto. De hecho, puede entenderlo como un diseño arquitectónico o una solución.
A través de RPC, podemos llamar a métodos en otras máquinas al igual que llamar a métodos locales, y el usuario no será consciente de la comunicación entre el servidor y el servidor. RPC juega un papel importante en los microservicios.
Operaciones comunes
Ver la identificación del proceso en el puerto actual 8887 para matar el proceso
netstat -nap |grep 8887
Habilite el servicio del servidor de swoole sin ocupar el panel
nohup php swoole_server.php user >/dev/null 2>&1 &
swoole_server.php
<?php
//创建tcp服务
$serv = new swoole_server('127.0.0.1', 8887);
$serv->set(array('worker_num' => 2));
$serv->on("receive", function ($serv, $fd, $from_id, $data) {
//$data 接受客户端发送的数据
$data = json_decode($data, true);
$site = $data['site'];
$action = $data['action'];
$result['site'] = $site;
print_r($result);
$result['action'] = $action;
//给客户端发送数据
$serv->send($fd, json_encode(['data' => $result]));
});
$serv->start();
swoole_client.php
<?php
//客户端:
$cli = new swoole_client(SWOOLE_SOCK_TCP);
$cli->connect('127.0.0.1', 8887);
$data=json_encode(['site'=>'user','action'=>'index']);
$cli->send($data);
$result=$cli->recv();//接收消息
$cli->close();
var_dump($result);