我想通過RPC發送一個具體的實現。 RPC方法需要一個接口。名稱未註冊接口
相關的代碼片段:
在包node
:
type Commander interface {
Action() string
}
type Approach struct {
Position int
}
func (p Approach) Action() string {
return "Approach"
}
func (t *RPCMethod) RPCAction(command Commander, reply *int) error {
// RPC Method
}
在包main
:
import "node"
gob.Register(node.Approach{})
var p = node.Approach{position}
var q node.Commander = p
var reply int
err = client.Call("RPCMethod.RPCAction",&q, &reply)
我已經註冊了node.Approach與採空區。但在運行我正在接受的主程序
gob: name not registered for interface: "node.Approach"
關於我在做什麼的任何想法都是錯誤的?或者如何註冊名稱?