package main
import (
"fmt"
"net"
"net/rpc"
"os"
"rpc/test1"
)
type HelloServiceInterface interface {
Hello(request string, reply *string) error
}
func RegisterHelloService(svc HelloServiceInterface) error {
return rpc.RegisterName(test1.HelloServiceName, svc)
}
type HelloService struct {}
func (h *HelloService) Hello(request string, reply *string) error {
*reply = "my name is : " + request
return nil
}
func main(){
RegisterHelloService(new(HelloService))
listener, err := net.Listen("tcp", ":12345")
if err != nil {
fmt.Println("service listen failed : ", err)
os.Exit(1)
}
for {
conn, err := listener.Accept()
if err != nil {
fmt.Println("accept failed : ", err)
os.Exit(2)
}
go rpc.ServeConn(conn)
}
}
初入golang RPC
最新推荐文章于 2024-06-24 18:45:11 发布