go에서 this specification을 기반으로 한 HTTP를 통한 JSON-RPC를 어떻게 사용할 수 있습니까?Go에서 HTTP를 통한 JSONRPC
Go는 net/rpc/jsonrpc
에 JSON-RPC 코덱을 제공하지만이 코덱은 네트워크 연결을 입력으로 사용하므로 RPC HTTP 처리기와 함께 사용할 수 없습니다. JSON-RPC 용 TCP를 사용하는 샘플 코드를 첨부합니다.
func main() {
cal := new(Calculator)
server := rpc.NewServer()
server.Register(cal)
listener, e := net.Listen("tcp", ":1234")
if e != nil {
log.Fatal("listen error:", e)
}
for {
if conn, err := listener.Accept(); err != nil {
log.Fatal("accept error: " + err.Error())
} else {
log.Printf("new connection established\n")
go server.ServeCodec(jsonrpc.NewServerCodec(conn))
}
}
}
"rpc http handler"란 무엇입니까? –
@CeriseLimon [this] (https://golang.org/pkg/net/rpc/#Server.HandleHTTP) 함수는 기본 http 서버에 http 핸들러를 등록합니다. –