net/rpc

Server:

type MyDBService struct {}

func(ms *MyDBService) GetDbName(port int,dbName *string) error  {
   if port==1521{
    *dbName="Oracle"
   }else if port==3306{
       *dbName="MySQL"
   }else{
       *dbName="none"
   }
    return nil
}

func main(){
    lis,_:=net.Listen("tcp",":8081")
    rpc.Register(new(MyDBService))

    for{
        client,err:=lis.Accept()
        if err!=nil{
            panic(err)
        }
        rpc.ServeConn(client)
    }
}

Client:

func main() {
    client, err := rpc.Dial("tcp", ":8081")
    if err != nil {
        panic(err)
    }
    dbName := ""
    err = client.Call("MyDBService.GetDbName", 1521, &dbName)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(dbName)
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注