2
我编写了一个简单的JSONRPC服务器来测试Go的功能,但是我被卡住了,总是得到一个空的结果,没有错误和正确的ID。我有以下Go代码: 包主要JSONRPC服务器返回空结果
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
对发生了什么事情有任何想法?我使用的是围棋的最新的稳定版本,V1.1.1
感谢
哼,太好了!我应该学习一些指针,因为这是我的第一次用这种语言进行的尝试。我现在还不能满足,但会迟一点。感谢您花时间解释! – Paulo