RPC返回

时间:2018-06-11 00:26:21

标签: go rpc

我有一些全局定义的错误类型变量。例如,

var ErrFileNotExist = errors.New("File does not exist")

在服务器端,它用作RPC中的返回值,例如

func (t *Type) F(args *T1, reply *T2) error {
   ...
   // some code here.
   return ErrFileNotExist
}

但是在客户端调用此RPC并获取返回值,将其与全局ErrFileNotExist进行比较,它不匹配。也就是说,

...
// client set up
e := c.Call(...)
log.Prinln(e) // File does not exist
log.Println(e == ErrFileNotExist)  // false

为什么会这样?有没有解决方法?

0 个答案:

没有答案