【发布时间】:2013-07-16 10:52:49
【问题描述】:
我编写了一个简单的 JSONRPC 服务器来测试 Go 的功能,但我卡住了,总是得到一个空结果,没有错误和正确的 id。我有以下 Go 代码: 主包
import (
"log"
"net"
"net/rpc"
"net/rpc/jsonrpc"
)
type Experiment int
func (e *Experiment) Test(i *string, reply *string) error {
s := "Hello, " + *i
reply = &s
log.Println(s, reply)
return nil
}
func main() {
exp := new(Experiment)
server := rpc.NewServer()
server.Register(exp)
l, err := net.Listen("tcp", ":1234")
if err != nil {
log.Fatal("listen error:", err)
}
for {
conn, err := l.Accept()
if err != nil {
log.Fatal(err)
}
server.ServeCodec(jsonrpc.NewServerCodec(conn))
}
}
无论我尝试什么,我总是得到以下响应:
{"id":1,"result":"","error":null}
日志显示一切都在服务器中正常运行。
2013/07/17 15:17:13 Hello, Paulo 0xc200090ac0
对正在发生的事情有任何想法吗?我正在使用最新的稳定版 Go,v1.1.1
谢谢
【问题讨论】: