`
kenby
  • 浏览: 717272 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

apue2的ruptime和ruptimed程序例子

阅读更多

这个例子是一个c/s程序,有4个文件:ruptime.c clconn.c ruptimed.c initsrv1.c,其中ruptime.c和clconn.c构成client, ruptimed.c initsrv1.c构成server, client向server发送请求,server接到请求后运行uptime命令,并把结果返回给client。编译运行方式如下:

1. 编辑/etc/services文件,追加

ruptime 4000/tcp #apue2的例子程序

重启系统,这样系统新增加一个服务ruptime,为其分配的端口号是4000,然后我们在ruptime.c的函数调用

getaddrinfo (argv[1], "ruptime", &hint, &ailist)

才能成功,并返回主机和服务对应的地址信息,同理在ruptimed.c的函数调用

getaddrinfo (host, "ruptime", &hint, &ailist)

也可以正确工作。

getaddrinfo函数的原型为:

int getaddrinfo(
const char* host
const char* service
const struct addrinfo* hints,
struct addrinfo** res
);

其作用是将一个主机名字和服务名字映射到一个地址,也就是说,给定主机名host和服务名service,函数返回

这个主机和服务的一切网络信息(address information),这些信息存放到res参数中,res是一个struct addrinfo

原型为:

struct addrinfo {

int ai_flags;

int ai_family;

int ai_socktype;

int ai_protocol

socklen_t ai_addrlen;

struct sockaddr *ai_addr;

char *ai_canonname;

struct addrinfo *ai_next;

}

2. 编译运行

apue2> gcc -o ruptime ruptime.c clconn.c libapue.a
apue2> gcc -o ruptimed ruptimed.c initsrv1.c libapue.a
apue2> ./ruptimed
apue2> ./ruptime localhost
09:15:53 up 28 min, 2 users, load average: 0.10, 0.22, 0.18
apue2>



分享到:
评论

相关推荐

    APUE例子源码

    这是APUE这本书所有例子的源代码,将该压缩文件在linux下解压后,进入example文件,修改Make.defines中的第11,19行,确保其路径与example所在路径一致即可

    APUE3+代码+APUE2(中文)

    APUE3+代码+APUE2(中文).经典中的经典。我就不做过多介绍了

    apue.2e.zip

    apue代码包

    apue.h 《UNIX环境高级编程》 头文件

    将apue.h和error.c两个文件copy到该目录下。(apue.h位于 your_apue_path/inlcude ; error.c位于your_apue_path/lib ) 以我的了路径为例: #cp /home/ucfree/apue.2e/inlcude/apue.h . #cp /home/ucfree/apue.2e/...

    apue2.chm

    apue2.chm.此书为英文.

    apue UNIX环境高级编程 程序包

    里面所有实例都被本人编译,并生成了可执行程序,可直接运行.想自己尝试编译的同学可参见源码包里面的FAQ

    apue.2e(apue源代码)

    UNIX高级环境编程中的实例代码,学习的好例子

    APUE-Edition2-英文版

    APUE-Edition2-英文版 有检索目录 图灵经典书籍 APUE-Edition2-英文版 有检索目录 图灵经典书籍

    apue.2e源代码

    希望对大家学习apue源码编译方法以及单个源码编译的实现有所帮助,

    UNIX环境高级编程 第二版 APUE_2nd

    书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用...

    APUE中文第二版UNIX.rar

    本书[APUE中文UNIXpdf完整版]全面介绍了UNIX系统的程序设计界面—系统调用界面和标准C库提供的许多函数。 本书的前15章着重于理论知识的阐述,主要内容包括UNIX文件和目录、进程环境、进 程控制、进程间通信以及...

    apue2

    apue -- advance programming in unix environment <br>高级unix环境编程 第二版

    apue 代码

    apue

    APUE程序清单B-2 输出至标准出错文件的出错处理函数

    书本APUE后面的附录清单中的代码,用于使书本的例程中的err_sys等函数可以被使用。具体使用方法可以参见:blog.csdn.net/fanfank 中的《APUE代码注记》这篇博客,如果你还没见到这篇博客……证明我还没写好……

    apue例子源码 已编译好

    解压后放在/opt目录下 阅读apue.2e里面的jkREADME有说明

    APUE 2nd 英文原版

    APUE 第二版的英文原版。 从google搜来的,所以不要积分了,和大家分享共勉。

    apue2e_src.rar

    apue2e_src.rar.

    基于linux学习apue

    非常适合学习ARM开发的人员,能够精确的学习快速提高apue知识

    unix环境高级编程2的apue.h头文件

    unix环境高级编程2的apue.h头文件

Global site tag (gtag.js) - Google Analytics