行云

行至水穷处,坐看云起时。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

Inetd
Internet超级服务器
可以使用inetd来设计网路程序,使我们不用考虑复杂的socket编程。只要设计好通讯协定(需要什么样的输入什么样的输出)就好了。所需要的技巧,仅仅是文字分析技巧。
利用inetd来开发网路应用步骤如下:

  1. 设计好本地运行的程序(hello:是一个hello world!程序)
  2. 配置inetd
    /etc/services: 配置程序使用的端口
    eg: hello      20001/tcp
       其意义为hello这项服务是在端口20001、是一个TCP连接。
    /etc/inetd.conf: 配置连接上面的服务时要执行的程序
    eg: hello stream tcp nowait robin /home/robin/Desktop/inetd/hello

    各个参数的意义为:
    <service_name><sock_type><proto><flags><user><server_path><args>
    service_name 是需要在系统服务中存在的名称。
    sock_type 有很多种,大多用的是stream/dgram。
    proto 一般用tcp/udp。
    flags 有wait/nowait。
    user 是您指定该程序要以那一个使用者来启动,这个例子中用的是root,如果有
    安全性的考量,应该要改用nobody。一般来说,建议您用低权限的使用者,除非必要,不
    开放root 使用权。
    server_path 及args,这是您的服务程序的位置及您所想加入的叁数。

  3. 重启inetd
    killall inetd
    inetd
  4. telnet连接
    telnet localhost hello

这相当于你在本地调用远程主机上的程序。
输入输出在本地,运行在远程主机上。

通过Linux 系统提供的inetd 服务,我们可以方便的编写网络程序而从来不用去在乎那
些看起来高深难懂的套接字函数.你所需要做的只是写一个普通的读写标准输入输出的程
序,然后去配置一下系统inetd 的配置文件:/etc/services 文件和 /etc/inetd.conf 文件

posted on 2012-07-17 22:20  windflying  阅读(481)  评论(0编辑  收藏  举报