2

Go の機能をテストするために単純な JSONRPC サーバーをコーディングしましたが、エラーや正しい ID なしで、常に空の結果が得られて行き詰まっています。次の Go コードがあります: 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)
    }
    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 を使用しています。

ありがとう

4

1 に答える 1