AIX中RPC使用
来源:互联网 发布:电玩城斗牛软件 编辑:程序博客网 时间:2024/05/29 06:28
最近在看unix网络编程卷二,在看到sun rpc那一部分的时候,发现几个问题,我是在ibm AIX上面开发,才发现原来真的是不同的UNIX系统差别真的很大,不多说,先上程序,包括三个文件,一个是RPC说明文件,另一个是客户端程序,还有一个是服务端程序。
1,RPC说明文件square.x
2,客户端程序client.c
3,服务端程序server.c
#include "square.h"
square_out * squareproc_1( square_in *inp, struct svc_req *rqstp ){
static square_out out;
if (rqstp->rq_cred.oa_flavor == 1) {
struct authunix_parms *au;
au = (struct authunix_parms *)rqstp->rq_clntcred;
printf("AUTH_SYS: host %s, uid %ld, gid %ld/n", au->aup_machname, (long) au->aup_uid, (long) au->aup_gid);
}
out.res1 = inp -> arg1 * inp -> arg1;
return (&out);
}
程序编译运行过程:
1, rpcgen square.x
生成square.h, square_clnt.c, square_svc.c,square_xdr.c
2, gcc server.c square_svc.c square_xdr.c -o server -lnsl
3, gcc client.c square_clnt.c square_xdr.c -o client -lnsl
4, ./server
5, ./client localhost 5
程序运行结果:
client:
result: 25
server:
AUTH_SYS: host root, uid 0, gid 0
注意点:
1,在UNIX网络编程一书中将square_out * squareproc_1( square_in *inp, struct svc_req *rqstp )写成是square_out * squareproc_1_svc( square_in *inp, struct svc_req *rqstp ),经过对比源程序,发现在AIX中应该去掉
2, 在UNIX网络编程中将au = (struct authunix_parms *)rqstp->rq_clntcred;写成au = ( struct authsys_parms * )rqstp->rq_clntcred;,在AIX中得用前者,因为后者是用的Solaris
- AIX中RPC使用
- aix中rpc.rstatd 与 rpc.statd 的区别
- Hadoop中RPC使用
- Zope中使用XML-RPC
- Hadoop1.X中使用RPC
- Hadoop2.X中使用RPC
- 在AIX中使用NTP服务
- Linux与AIX中nfs的使用
- AIX中如何使用NTP协议
- AIX中常用的SMIT 的使用
- php5中XML-RPC函数的使用
- php5中XML-RPC函数的使用
- 在dojo中使用JSON-RPC
- 在dojo中使用JSON-RPC
- PHP中XML-RPC使用笔记
- ibm aix rpc.cmsd remote exploit
- AIX系统中动态链接库的创建与使用
- AIX下AWK语言中使用正则表达式
- Ubuntu9.10实现root用户自动登录~
- 终级解决SQL Server 2005 未正常卸载,重新安装问题
- ASP.NET 取得 Request URL 的各个部分和通过ASP.NET获取URL地址的方法
- prototype中文参数乱码解决方案
- SQL server 2005安装问题汇总
- AIX中RPC使用
- CXF学习笔记一:如何创建、发布和访问基于CXF的服务
- 一个数组,找出其中具有这样一个特性的数字:1、比它左边的数都大2、比它右边的数都小
- sysctl 调整linx内核运行时参数(对unix/linux系统调优)
- About general packaging module on ug-nx product that I ever worked on!
- C#获得当前经纬度
- Hibernate访问多个数据库的方法
- OllyDbg载入就退出
- 不让Windows 2000对MSN7.5说NO!