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)
ノードを登録しました。ゴブでアプローチします。しかし、私が受け取っているメインプログラムを実行すると
gob: name not registered for interface: "node.Approach"
私が間違っていることについて何か考えはありますか?または名前を登録する方法は?