Go Can';我找不到服务

Go Can';我找不到服务,go,rpc,json-rpc,gorilla,Go,Rpc,Json Rpc,Gorilla,我正在尝试使用gorilla/rpc包在我的应用程序中创建json-rpc服务器 这是我的密码 func (server *Server) ListenRPC(port string) { fmt.Println(fmt.Sprintf(MessageListeningRPCServer, port)) s := rpc.NewServer() s.RegisterCodec(json.NewCodec(), "application/json") s.Regis

我正在尝试使用
gorilla/rpc
包在我的应用程序中创建
json-rpc
服务器

这是我的密码

func (server *Server) ListenRPC(port string) {
    fmt.Println(fmt.Sprintf(MessageListeningRPCServer, port))
    s := rpc.NewServer()
    s.RegisterCodec(json.NewCodec(), "application/json")
    s.RegisterCodec(json.NewCodec(), "application/json;charset=UTF-8")
    s.RegisterService(new(RPCServer), "")
    r := mux.NewRouter()
    r.Handle("/", s)
    http.ListenAndServe(fmt.Sprintf(portFormatter, port), r)
}

type RPCServer struct {
}

type Response string

type Args struct {
    A, B int
}

func (server *RPCServer) Abc(r *http.Request, args *Args, response *Response) error {
    *response = "asdasdasd"
    return nil
}
所以在cmd中,我运行
curl
命令,如下所示

curl -H 'Content-Type: application/json' -X POST -d '{"method":"RPCServer.Abc","params":[{"a":3}],"id":1}' http://localhost:8090
rpc: can't find service "RPCServer.Abc"
然后得到如下所示的错误

curl -H 'Content-Type: application/json' -X POST -d '{"method":"RPCServer.Abc","params":[{"a":3}],"id":1}' http://localhost:8090
rpc: can't find service "RPCServer.Abc"

如果你有一段可运行的代码,这对调试非常有帮助。如果你有一段可运行的代码,这对调试非常有帮助。