使用golang进行rpc开发之二使用json进行开发
上文介绍了如何在golang 中使用原生的net/rpc 进行开发,但是使用原生的rpc有一个问题,不能跨语言,只能服务端和客户端都是golang时才可以,本文介绍如何使用json作为序列化在不同的语言间进行rpc调用。
首先我们先来修改一个服务端的代码,之前的代码中,服务端收到客户端发来的数据以后,是通过 rpc.ServeConn(conn)来处理请求的
for {
fmt.Println("等待连接。。。。")
// 3. 建立连接
conn, err := lister.Accept()
if err != nil {
fmt.Println(err)
}
// 4. 绑定服务
rpc.ServeConn(conn)
}
如果要使用json来处理的话,只需要将原来的rpc.ServeConn(conn)修改为 rpc.ServeCodec(jsonrpc.NewServerCodec(conn))即可。
