04.配置unp.h头文件出现开启 xinetd daytime 服务时 /etc/xinetd.d下 没有daytime 文件的解决办法
一、引言
最近在学习 《Unix网络编程 卷1:套接字联网 API》。在编译其第一份代码 daytimetcpcli.c 的时候,发现作者使用到了 daytime 服务。比如下面这行代码:
servaddr.sin_port = htons(13); /* daytime server */
根据网上搜索相关信息得知,13 就是 xinet 内置的 daytime 服务的运行端口,其作用是,当有客户端请求 13 端口,daytime 服务则返回一串表示系统时间的字符串,比如:
25 JUN 2019 05:30:36 CST
因为我自己电脑上使用的是 Manjaro 系统(同 ArchLinux),因此在开启 xinetd daytime 服务上遇到了一些与其他系统(Ubuntu、Centos)不同的问题,比如说:
> 我安装完 xinetd 之后,在 /etc/xinetd.d
目录下根本就没有 daytime 文件。
接下来,我就把我解决这个问题的方法记录下来,以供网友们参考。
二、解决
根据网上的教程,安装完 xinetd 之后,到 /etc/xinetd.d
文件夹下编辑下 daytime 文件内容,将 disable 设置为 no 即可。
但是,等我安装完之后,根本就没发现有 daytime 文件。
不过天无绝人之路,我在另一个虚拟机 Ubuntu 环境下安装了 xinetd,然后在 /etc/xinetd.d
中找到 daytime 文件,然后将其复制到 Manjaro 的对应韦志中,新建一个 daytime 文件,修改了下 disable 的值为 no,重启了下 xinetd 服务,竟然就成功了!
这里我说的有点快,我简单总结下步骤:
1. 安装 xinetd
$ sudo pacman -S xinetd
2. 编辑 daytime
$ cd /etc/xinetd.d
$ sudo vim daytime
粘贴以下内容:
# description: An internal xinetd service which gets the current system time
# then prints it out in a format like this: "Wed Nov 13 22:30:27 EST 2002".
# This is the tcp version.
service daytime
{disable = notype = INTERNALid = daytime-streamsocket_type = streamprotocol = tcpuser = rootwait = no
}
# This is the udp version.
service daytime
{disable = notype = INTERNALid = daytime-dgramsocket_type = dgramprotocol = udpuser = rootwait = yes
}
3. 重启 xinetd.service
$ systemctl enable xinetd.service
$ systemctl restart xinetd.service
可以通过下面这个命令来查看是否开启 xinetd 服务
$ systemctl list-unit-files
4. 验证 daytime 服务
这样,运行《Unix网络编程 卷1:套接字联网 API》的 daytimetcpcli.c 代码,即可看到运行结果:
$ ./daytimetcpcli 127.0.0.1
25 JUN 2019 05:30:36 CST
至此,这个问题算是解决了:)
希望这篇博客能够给你带来一些帮助。
04.配置unp.h头文件出现开启 xinetd daytime 服务时 /etc/xinetd.d下 没有daytime 文件的解决办法相关推荐
- 《UNIX网络编程》配置unp.h头文件
0x00 前言 文章中的文字可能存在语法错误以及标点错误,请谅解: 如果在文章中发现代码错误或其它问题请告知,感谢! 系统版本:Ubuntu 14.04_64 最后更新:2022-03-23 0x01 ...
- Unix——《Unix网络编程》配置unp.h头文件
<Unix网络编程 卷1>unp.h 头文件及其编译问题 本书源码下载地址 http://www.unpbook.com 解压tar -zxvf unpv13e.tar.gz 其实各个编译 ...
- UNIX网络编程之旅-配置unp.h头文件环境
最近在学习Unix网络编程(UNP),书中steven在处理网络编程时只用了一个#include "unp.h" 相当有个性并且也很便捷 于是我把第三版的源代码编译实现了这个过程 ...
- [转载]配置unp.h头文件环境
原文:http://blog.csdn.net/wd4084/article/details/6452574 最近在学习Unix网络编程(UNP),书中steven在处理网络编程时只用了一个#incl ...
- Ubuntu16.04系统下汉字显示为方框解决办法
Ubuntu16.04系统下汉字显示为方框解决办法 问题详情 打开Ubuntu系统,发现中文变方框了 问题分析 之前中文显示好好的,突然就中文变方框了.原先以为是语言的问题,后面换成了别的中文样式,发 ...
- 安全狗php站点404,开启安全狗响应内容保护导致404返回200状态码的解决办法
开启安全狗响应内容保护导致404返回200状态码的解决办法 2020-04-08 开启安全狗响应内容保护导致404状态码返回200的解决办法 今天无意中对www.tbadc.com的404错识做了一个 ...
- Unix网络编程之-------unp.h头文件详细配置-1
unix网络编程unp.h最详细全面配置说明 今天开始学习Unix网络编程这本大神之作了,由于之前在学习另外一本杰作Unix环境高级编程,遇到过第一个程序编译报错的情况,知道这是大神自己写的头文件在我 ...
- 远程ubuntu 20.04的nvidia驱动自动更新,机器重启后,ToDesk或者向日葵等远程连接黑屏,解决办法:为远程设备添加虚拟显示器
0 避坑提醒 第4部分的解决办法,很多网友反映,会导致物理显示器不能用!请仔细阅读文章里的解决办法. 请仔细阅读第5部分的特别注意事项,虚拟显示器会和物理显示器冲突.让虚拟显示器和物理显示器同时工作的 ...
- Android Studio开启虚拟机报错!emulator: ERROR: x86 emulation currently requires hardware acceleration!解决办法梳理
1.如果确认电脑没有开启Intel Virtualization Technology,那么先进BIOS里开启,然后再进行如下步骤,如果不确认,进入第二步. 2.到Android SDK的安装路径下, ...
最新文章
- Tornado、Bottle以及Flask
- Intel® oneAPI Toolkit编译VASP
- exists的用法 python_10 个 Python 开发技巧
- 一年有几个月几个季度_胎教几个月开始 注意事项有哪些?
- 打印管理 php,window_强化Windows Server 2008下的打印管理, 打印管理从来都是Windows Se - phpStudy...
- SpringBoot集成Flowable
- select2,利用ajax高效查询大数据列表(可搜索、可分页)
- g++是什么_路由器信号分为2.4G和5G,有什么区别?怎么选?
- mathtype 公式分节隐藏
- 【电路设计】AD17使用及PCB绘制总结
- 网站分析工具深度讲解之访问来源统计(一)
- React:一、初识react
- 用python画卡通人物的画法_教你绘制扁平化风格的卡通人物肖像
- Visual Assist X 10.9 builds 2333 with patch.7z
- omf多路径 oracle_Oracle OMF 功能详解
- uniapp 选择元素,操作元素属性
- 红帽linux安装docker,在CentOS7.6、红帽7.6系统中安装Docker:只需3条命令
- 渲染效果图哪家好?2022最新实测(三)
- 2022年数维杯国际赛C题 如何利用大脑结构诊断阿尔茨海默氏病
- java+subject+login_Java Subject類代碼示例