xinetd服务介绍

xinetd是Linux下的一个网络守候进程,用来统一管理网络负载不大的一组小型网路服务。

一些小型的网络服务,比如时间,telnet服务,不以守候进程出现,而是让xinetd服务以守候进程出现。如果某客户端发起连接,xinetd服务将接收该连接,创建新进程,根据请求信息决定执行具体的服务代码。

我的虚拟机上居然没有...先安装一下吧

sudo apt-get install xinetd

xinetd守候进程的配置文件, /etc/xinetd.conf 内容如下

/etc/xinetd.d 目录提供服务链接信息:

基于xinetd创建网络服务过程:

以一个时间服务器为例,在客户端发起连接后为其返回一个当前系统时间。

(1)编写源代码daytime_inetd.c 编译后放在/root/kzy/下面

#include<time.h>
#include<unistd.h>
#include<sys/types.h>
#include<signal.h>
#include<fcntl.h>
#include<sys/param.h>
#include<sys/syslog.h>
#define MAXLINE 4096
int main(int argc, char **argv)
{
socklen_t len;
struct sockaddr *cliaddr;
char buff[MAXLINE];
time_t ticks;
ticks = time(NULL); //获取当前时间值
snprintf(buff, sizeof(buff), "%.24s\r\n", ctime(&ticks)); //转换为时间字符串
write(, buff, strlen(buff)); //网络中,将0重定向到了socket文件描述符,向0写 相当于想socket写
close();
exit();
}

(2)修改/添加启动配置  在/etc/xinetd.d/ 下添加一个文件名为daytime_inetd配置文件

service daytime_inetd
{
disable = no //标识xinetd守候进程支持此服务,设置yes将禁止
flags = REUSE
socket_type = stream //基于TCP的连接
wait = no
user = root //执行用户为root
server = /root/kzy/daytime_inetd //连接后运行代码位置
log_on_failure += USERID
}

(3)在/etc/services文件中为该服务指定应用端口。 注意不能与已经使用的端口冲突。这里用6666

(4)重新启动网络服务

service xinetd restart

(5)运行

telnet localhost 

郁闷,到这里出问题了。总是说连接不上,不懂????下面是出错信息

最新文章

  1. html之页面元素印射
  2. 简单的哈希表实现 C语言
  3. Xamarin提示Build-tools版本过老
  4. ngrok外网登录本地Web服务器
  5. Java汉诺塔算法
  6. 【待整理】PS切图基础教程
  7. java的软件包
  8. NodeJS V8 GC概览
  9. 查看java的.class文件的方法
  10. C# 客服端上传文件与服务器器端接收 (简单代码)
  11. C++中explicit
  12. HTML5 Canvas简简单单实现手机九宫格手势密码解锁
  13. iOS开发之视差滚动视图
  14. 201312月CCF-2,ISBN号码分析
  15. 对java数组的一些理解
  16. IDEA升级版本后界面出现变小,字体变细的问题解决
  17. node笔记
  18. java.lang.NoSuchMethodException: .&lt;init&gt;()
  19. Mvc4_ @RenderBody、@RenderPage、@RenderSection用法
  20. 空指针null

热门文章

  1. pip 代理设置,坑爹的代理继续
  2. Unicode字符图标
  3. 性能测试之siege
  4. springboot生成表结构
  5. Python调用Webservice
  6. windows下vim高亮systemverilog
  7. PEAR DB 初学笔记
  8. PHP基础壹
  9. 第二节 PHPUnit测试的剖析
  10. Java 以及JEE环境快速搭建