json - JSONRPC server returns empty result -
i've coded simple jsonrpc server test go's capabilities, i'm stuck, getting empty result, without error , correct id. i've got following go code: package main
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) } { conn, err := l.accept() if err != nil { log.fatal(err) } server.servecodec(jsonrpc.newservercodec(conn)) } }
no matter tried, i've got following response:
{"id":1,"result":"","error":null}
logging shows working should in server.
2013/07/17 15:17:13 hello, paulo 0xc200090ac0
any ideas on what's going on? i'm using latest stable version of go, v1.1.1
thanks
your reply of type pointer string. okay , required second argument used return answer. do:
s := "hello, " + *i reply = &s
which translates to:
- construct new string new value.
- let reply point new string
this lets string returned unaffected. try
*reply = s
Comments
Post a Comment