Swooleは単にRPCの原則を実装しています

RPCとは

RPCのフルネームはRemoteProcedure Callで、中国語でリモートプロシージャコールに変換されます。実際、これはアーキテクチャ設計またはソリューションとして理解できます。
RPCを使用すると、ローカルメソッドを呼び出すのと同じように他のマシンのメソッドを呼び出すことができ、ユーザーはサーバーとサーバー間の通信に気付くことはありません。RPCは、マイクロサービスで重要な役割を果たします。

一般的な操作

プロセスを強制終了するには、現在のポート8887でプロセスIDを表示します

netstat -nap |grep 8887

ここに画像の説明を挿入します

パネルを占有せずにswooleのサーバーサービスを有効にする

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);

結果ページ

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/weixin_39218464/article/details/113784897