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