美文网首页
2018-05-24RPC 实现 解决不同电脑之间的数据,通过r

2018-05-24RPC 实现 解决不同电脑之间的数据,通过r

作者: fairy冉冉 | 来源:发表于2018-05-24 14:55 被阅读0次
  1. 服务器代码实现:
package main

import (
    "net/rpc"
    "net/http"
    "log"
)
// 服务器端口
type Params struct {
    Width, Height int

}
// 声明一个对象
type Rect struct {

}

// 定义公共方法【该方法在本机意外的电脑也能用】
func (r *Rect)Area(p Params,ret *int)error {
    *ret =p.Width*p.Height
    return nil

}
func (r *Rect)Perimeter(p Params,ret *int)error  {

    *ret = (p.Width+p.Height)*2
    return  nil

}
func main()  {
// 实现类的注册服务
rect := new(Rect)
rpc.Register(rect)
rpc.HandleHTTP()
err:= http.ListenAndServe(":9090",nil)
    if err!=nil {
        log.Fatal(err)

    }
}

2.客户端代码实现:

package main

import (
    "net/rpc"
    "log"
    "fmt"
)

//实现rpc客户端
type  Params struct {
    Width, Height int
}
//
func main()  {
    // 链接远程rpc
    rp,err := rpc.DialHTTP("tcp","127.0.0.1:9090")// 拨号链接
    if err!=nil {
        log.Fatal(err)
    }
    // 接收服务器传递过来的结果
    ret :=0
    e:= rp.Call("Rect.Area",Params{100,100},&ret)

    if e !=nil {
        log.Fatal(e)

    }
    fmt.Println(ret)


}
客户端打印结果: image.png

相关文章

  • 2018-05-24RPC 实现 解决不同电脑之间的数据,通过r

    服务器代码实现: 2.客户端代码实现:

  • R3.5读取R3.6保存文件报错,如何解决?

    报错解决 我台式电脑是R3.6我笔记本电脑是R3.5通过台式电脑R3.6分析后得到数据,save()保存为Rdat...

  • 11. 蓝牙通信

    11.1 问题 在应用程序中,要通过蓝牙通信实现不同设备之间的数据传输。 11.2 解决方案 (API Level...

  • 静态路由和默认路由

    路由器作用 用不同的接口连接不同的网络范围,实现不同网段之间的数据转发。转发的依据是路由表。 做个实验 R1 f0...

  • 《如何阅读一本书》 拆解day5

    R: I: 通过主题阅读,达到解决认知问题的深度,通过不同书籍提供更多的答案来解决所面临的问题。 A: ...

  • Python学习

    第十五天 Socket编程-udp聊天器实现 不同电脑之间如何通信?其实TCP/IP协议已经帮助我们解决了这个问题...

  • 8Activity间传递数据

    Activity之间传递数据一般通过以下几种方式实现: 通过intent传递数据 通过Application 使用...

  • BIM技术在设计和施工中功劳巨大

    BIM技术通过建立模型,实现不同专业设计之间的信息共享,不需要重复录入数据,更避免数据冗余、歧义和错误。这些优点无...

  • R中的knn算法实现

    偶然之间看到,很多R包中都有knn算法的应用,他们有什么不同之处吗?到底应该选择哪个包来实现knn呢?为了解决这些...

  • 系统的RabbiMQ学习(1)了解MQ

    RabbiMQ是什么 RabbiMQ是一个开源的消息代理和队列服务器,用来通过普通协议在不同的应用之间共享数据,R...

网友评论

      本文标题:2018-05-24RPC 实现 解决不同电脑之间的数据,通过r

      本文链接:https://www.haomeiwen.com/subject/xclsjftx.html