Writing the RPC Server using XDR
来源:互联网 发布:日股 软件 编辑:程序博客网 时间:2024/05/03 18:26
Create "llist_svc_proc.c" to hold the server code. I #included llist.h, copied over the prototypes, and implemented the server as follows:
int result;/* print out a list, returning the number of items printed */int *print_list_1_svc(list *lst, struct svc_req *req){ list *ptr; ptr = lst; result = 0; while (ptr != NULL) { printf("{%s, ", ptr->data); printf("%d, ", ptr->key); switch (ptr->col) { case ORANGE: printf("orange"); break; case PUCE: printf("puce"); break; case TURQUOISE: printf("turquoise"); } printf("}\n"); result++; ptr = ptr->next; } return &result;}int *sum_list_1_svc(list *lst, struct svc_req *req){ list *ptr; ptr = lst; result = 0; while (ptr != NULL) { result += ptr->key; ptr = ptr->next; } return &result;}
Note the quirky return values: rpcgen asked us to write functions that return pointers to their integer results, not the integers themselves. To comply, I had to create a global variable. Note that this pointer, "&result", is not getting sent over the network; it is merely being passed to some XDR function in our address space to be dealt with. If you'd like to peek at the mechanism that controls this process, read llist_svc.c. You might be disappointed; most of what goes on is actually handled by lower-level RPC library routines such as "svc_getargs()" and "svc_sendreply()".
(http://www.cprogramming.com/tutorial/rpc/remote_procedure_call_server.html)
- Writing the RPC Server using XDR
- Writing the RPC Client
- Writing a Simple Action Server using the Execute Callback
- RPC外部数据表示(XDR)
- XDR
- Writing Asynchronous Web Application (Comet) using the Atmosphere Framework
- A quick guide to writing scripts using the bash shell
- Using the Server Custom Actions
- 关于 The RPC server is unavailable
- RPC/XDR/NFS系列之----远程过程调用
- RPC/XDR/NFS系列之----远程过程调用
- Using Async RPC with Your Client/Server Applications
- Writing Stored Procedures with Microsoft SQL Server: The Authoritative Solution
- Using the HID class eases the job of writing USB device drivers
- Windows Server Troubleshooting: "The RPC server is unavailable"
- Using the java.rmi.server.codebase Property
- Configuring and Using the Twisted Web Server
- Writing XML File using XmlWriter
- Writing Remote Procedural Calls (RPCs) in C
- C# Winform 上传本地文件到服务器路径
- 严格递增矩阵
- Web Service学习笔记
- 经典SQL语句集锦
- Writing the RPC Server using XDR
- Writing the RPC Client
- 免费POSIX标准下载
- php 多条件查询时分页出现问题
- 关于百度新首页 个人试用之后的小感悟
- PHP 判断网址是否正确 / 网页是否存在
- 高效的编程方式
- Android源码分析--彩信
- Android源码分析--CDMA/GSM分支切换