net/rpc是如何注册所有的的服务

package main

import (
	"log"
	"net"
	"net/rpc"
)
type HelloService struct{}
func(p *HelloService) Hello(request string,reply *string) error {
	*reply = "hello" + request
	return nil
}

func main(){
    // 一个server提供的服务一定很多啊,这里只是一个HelloService,那么多个要怎么处理?依次rpc.RegisterName ? 我的思维还在php里....
	rpc.RegisterName("HelloService", new(HelloService))

	listener, err := net.Listen("tcp", ":1234")
	if err != nil {
		log.Fatal("ListenTCP error:", err)
	}

	conn, err := listener.Accept()
	if err != nil {
		log.Fatal("Accept error:", err)
	}

	rpc.ServeConn(conn)
}
`

共 1 个回复


rocket

reflect

# 0