zoukankan      html  css  js  c++  java
  • xinetd服务器

    xinetd 服务器
    配置xinetd服务
    1.xinetd可以统一管理很多服务进程
        绑定、侦听和接受来自对服务器每个端口的请求
        有客户端访问时,调用相应的服务器程序响应
        节约系统内存资源
        同时响应多个客户端的请求
    windows没有该功能
    多数UNIX系统是使用inetd实现相同功能

    配置文件解析
    选项名称        说明
    flegs                   如果只指定NAMEINARAGS,那么它就使参数和inetd一样地传递
    type                    如果服务器不再/etc/services中,则使用UNLISTED,否则可以忽略这一行
    port                    如果type=UNILISTED,则在这里指定端口号
    socket_type             如果是TCP,使用stream;如果是UDP,使用dgram
    protocol                指定TCP,还是UDP

    wait                    TCP设置为NO.对于UDP,如果服务器连接远程主机并未不同的用户建立新的进程,no,如果UDP在它的端口上处理所有的信息包,直到他被终止,则为yes
    user            指定程序的运行身份
    server            服务程序的完整路径
    server_args        参数。为了和inetd兼容,flags设置为NAMEINARGS,则参数使用服务器名


    编写xinetd程序
    使用标准输入输出
    当使用xinetd的时候,它通过两个方法传递socket:如文件描述0和1
    它们和文件描述符一样,分别代表标准输入和标准输出
    因为标准输出sys.stdout默认是被缓冲的,所以为了实时性,需要使用到sys.stdout.flush()函数
    使用这两种方法,服务器端口程序既可以当成网络服务器程序使用,也可以像普通脚本程序一样执行

    使用socket对象
    通过调用socket.fromfd()可以建立socket对象
    建立socket对象需要使用xinetd传递给程序的本件描述
    fromfd()函数需要文件数量和一些标准的参数,一些参数与前一章内容相同


  • 相关阅读:
    桶排序
    向控件添加变量之后,类中多了什么?
    atan2&sin
    Bug(1)
    十六进制转化二进制[c]
    接口性能分析与优化
    记一次内存泄漏DUMP分析
    偏移二分查找
    iOS开发——自定义密码输入键盘
    iOS开发——手机号,密码,邮箱,身份证号,中文判断
  • 原文地址:https://www.cnblogs.com/ghming/p/8432766.html
Copyright © 2011-2022 走看看