目录
1、服务端
package main
import (
"fmt"
"log"
"net"
"net/rpc"
)
type HelloService struct {
}
func (p *HelloService) Hello(request string, reply *string) error {
fmt.Println("开始")
*reply = "hello:" + request
return nil
}
func main() {
rpc.RegisterName("HelloService", new(HelloService))
listener, err := net.Listen("tcp", ":1234")
if err != nil {
log.Fatalln(err)
}
conn, err := listener.Accept()
if err != nil {
log.Fatalln(err)
}
rpc.ServeConn(conn)
}
2、客户端
package main
import (
"fmt"
"log"
"net/rpc"
)
func main() {
client, err := rpc.Dial("tcp", "192.168.118.132:1234")
if err != nil {
log.Fatal("dialing:", err)
}
var reply string
err = client.Call("HelloService.Hello", "hello", &reply)
if err != nil {
log.Fatal(err)
}
fmt.Println(reply)
}