1.go的Rpcx使用Demo
可以参考官网信息,点击去官网
2.使用过程中遇到的问题-无法远程调用
2.1代码
func NewRpcServer(addr string) {
arith = time.Now().Unix()
s := server.NewServer()
s.RegisterName("Arith", new(Arith), "")
s.Serve("tcp", addr)
}
func NewRpcClient(addr string) {
d, _ := client.NewPeer2PeerDiscovery("tcp@"+addr, "")
rpcClient = client.NewXClient("Arith", client.Failtry, client.RandomSelect, d, client.DefaultOption)
}
入参addr格式"127.0.0.1:1000"
2.2 问题原因
addr参数问题,如果ip写的是127.0.0.1那么只能本机调用。可以写本机ip,例如 100.192.133.13,或者不写ip。
示例:100.192.133.13:1000 或者 :1000 这两种可以提供远程调用。
127.0.0.1:1000 这种只能本机调用。
3.rpcx这个在官网没有描述有点小坑。