下面使用简单的求和函数来示例整个调用过程,当然同时也是支持GO客户端直接发起调用的
PHP客户端代码如下:
public function index(){
//创建一个客户端
$client = stream_socket_client("tcp://127.0.0.1:9091", $errno, $errstr);
if (!$client) {
exit("{$errno} : {$errstr} \n");
}
$data = [
'method' => "ServiceA.Add",
'params' => [["x"=>1,"y"=>21]],
'id'=>0
];
//向服务端发送我们自定义的协议数据
fwrite($client, json_encode($data,320));
//读取服务端传来的数据
$data = fread($client, 2048);
//关闭客户端
fclose($client);
dd($data);
return $data;
}
go服务端代码如下:
service := new(ServiceA)
rpc