RPC编程遇到的问题与解决方法
更新时间:2023-12-08 18:10:01 阅读量: 教育文库 文档下载
- RPC编程推荐度:
- 相关推荐
RPC编程遇到的问题与解决方法
1. 基础工具
rpcgen的windows版本“oncrpc_win32_release_2”,下载地址http://www.sf.net/projects/oncrpc-windows。这是Windows下的rpcgen工具,可正常编译,需要在编译的选项上增加WIN32的定义,如图1所示:
另外在Include选项上增加“..\\..\\..\\..\\oncrpc\\win32\\include;”,如图2所示:
2. RPC编程的参考文档
linux与windows的RPC互通信的完整例子。参考“http://blog.csdn.net/ocean181/article/details/6785981”在linux下编写接口代码math.x,然后使用“rpcgen –a math.x”命令产生必要的rpc代码,如表1所示,客户端需要的代码为“math_clnt.c、math.h、math_xdr.c和math_client.c”,服务器端需要的代码为“math_svc.c、math.h、math_xdr.c和math_server.c”。 文件名 Makefile.file 作用 该文件用于编译所有客户机,服务器代码 该文件包含client_stub,程序员一般不用修改 该文件包含server_stub,程序员一般不用修改 该文件包含了从说明中产生的所有XDR类型 该文件包含了客户机和服务器stub所需的XDR过滤器,程序员一般不用修改 如果生成此文件,则该文件包含远程服务的stub 如果生成此文件,则该文件包含了骨架客户机程序。 math_clnt.c math_svc.c math.h math_xdr.c math_server.c math_client.c Linux服务端代码编译:gcc–o mathservermathsvc.cmath_xdr.cmath_server.c Linux客户端代码编译:gcc –o math_clnt.cmath_xdr.cmath_client.c
Windows客户端代码编译:建立新的空工程,将客户端的代码添加到工程中,添加oncrpc的include目录和lib目录,使用lib文件oncrpc.lib,使用动态库文件oncrpc.dll,修改编译错误。
3. 测试过程中遇到的问题
? 服务器无法启动,错误如下:
Cannot register service: RPC: Unable to receive; errno = Connection refused unable to register (TESTPROG, VERSION, udp).
问题原因:系统没有安装portmap或者没有启动portmap端口映射。 解决方法:在新版的ubuntu中portmap被rpcbind所代替,所以需要启动rpcbind服务。 ? 不能注册服务,错误如下:
Cannot register service: RPC: Authentication error; why = Client credential too weak unable to register (MATH_PROG, MATH_VER, udp).wh@wh-virtual-machine:~/RPCTest$
错误原因:不是portmap服务,而是rpcbind服务
解决方法:使用新的命令重新启动rpcbind服务,“rpcbind –i -w”。具体过程,“ps –ef |grep“rpcbind””“kill pid”“sudorpcbind –i -w”。 ? 客户端遇到的问题
当我们把linux下面的客户端代码复制到windows端编译,并运行的时候,程序没有反应退出。
错误原因:在Windows系统下的TCP/IP编程,需要首先调用WSA_STARTUP函数,通过调试oncrpc的clnt_create代码发现问题存在。
解决方法:在客户端的代码中调用clnt_create代码之前调用rpc_nt_init(),在客户端代码结束前调用rpc_nt_exit()。
正在阅读:
RPC编程遇到的问题与解决方法12-08
哪些论文可以在我刊优先刊登06-04
弧焊电源复习完整资料04-21
四川省成都市中考物理 小专题(四)简单机械的分析与计算05-08
世说新语读后感700字五篇04-19
高一英语月考试题06-03
小学三年级上册学生操行评语05-29
外国文学题库新答案 203-19
造价工程师《造价管理》:房产税考试试题01-02
成比例线段培优试题08-06
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 遇到
- 编程
- 解决
- 方法
- 问题
- RPC