当前位置: 首页 > news >正文

php-golang-rpc spiral/goridge库和php spiral/goridge2.4.5实践

golang 代码:

package main

import (

    "fmt"

    "net"

    "net/rpc"

    "github.com/spiral/goridge/v2"

)

type App struct{}

func (*App) Hi(name string, r *string) error {

    *r = fmt.Sprintf("hello %s!", name)

    return nil

}

type Ceshi struct{}

func (*Ceshi) Demo(name string, r *string) error {

    *r = fmt.Sprintf("hello %s!", name)

    return nil

}

func main() {

    ln, err := net.Listen("tcp", ":6001")

    if err != nil {

        panic(err)

    }

    rpc.Register(new(App))

    rpc.Register(new(Ceshi))

    for {

        conn, err := ln.Accept()

        if err != nil {

            continue

        }

        go rpc.ServeCodec(goridge.NewCodec(conn))

    }

}

/****************************************************************/

php代码:

use Spiral\Goridge\RPC;
use Spiral\Goridge\Relay;

$rpc = new RPC(Relay::create('tcp://127.0.0.1:6001'));
echo $rpc->call("Ceshi.Demo", "ceshi");

http://www.lryc.cn/news/95403.html

相关文章:

  • 关于Kubernetes的一些零碎想法
  • C—数据的储存(下)
  • 「软件测试面试干货」2023年软件测试面试题大全(持续更新)附答案..
  • YOLOv2论文对比总结
  • 数据中心机房机柜配电新模式的探讨与选型
  • Redis未授权访问漏洞
  • Python 各种进制转换
  • 关于K8s的Pod的详解(一)
  • Vue3通透教程【十六】TS编译配置
  • OpenCV系列__chapter2
  • Chat GPT是什么,初学者怎么使用Chat GPT,需要注意些什么
  • hcip mgre与rip实验
  • 骨传导耳机对身体有没有别的危害?骨传导耳机有什么好处?
  • c++11/c++98动态规划入门第5课,经典DP问题 --- 区间
  • vue中重新获取数据导致页面加长,要求在页面更新之后浏览器滚动条滚动到之前浏览记录的位置。以及获取当前页面中是哪个元素产生滚动条的方法。
  • 【深度学习】日常笔记14
  • [JAVAee]synchronized关键字
  • Unity游戏源码分享-3d机器人推箱子游戏
  • SAAS部署模式
  • 11、PHP面向对象1
  • 实训笔记7.25
  • 全方位对比 Postgres 和 MongoDB (2023 版)
  • 本地部署中文LLaMA模型实战教程,民间羊驼模型
  • 全志F1C200S嵌入式驱动开发(spi-nor image制作)
  • JSON格式Python,Java,PHP等封装图片识别商品数据API方法
  • Vue应用案例
  • GPT-3.5:ChatGPT的奇妙之处和革命性进步
  • 【Hadoop 01】简介
  • 【C++】开源:跨平台轻量日志库easyloggingpp
  • spring-websocket在SpringBoot(包含SpringSecurity)项目中的导入