golang原生http和rpc服务集成

今天做了个小实验,验证了用go语言的原生http模块和编写的http服务器可以利用rpc模块同时提供rpc调用功能。但是遗憾的是,如果是用fcgi模块编写的服务器就不能集成rpc服务。

关键点:

第一,rpc功能要用rpc.NewServer新建服务对象,不能用默认对象,因为只有新建对象的HandleHTTP可以设置http访问路径。它的第一个参数是http访问路径,第二个参数是调试器路径,可以通过浏览器看运行情况。

第二,http.Serve第二个参数必须是nil,否则rpc服务器就不能被调用,因此其它页面渲染函数都要用http.HandleFunc设置路由。

客户端调用方法:

rpc连接要用rpc.DialHTTPPath,第三个参数是http路径,要和上面的HandleHTTP第一个参数一致。连接上后用法就和普通rpc调用一样了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容