在Linux下轻松实现网络服务

        在Linux下有许多网络服务器在运行,像常用的telnet、ftp等,它们处于监听状态,等待用户的连接请求。我们用命令netstat -a可查看到那些处于listen状态的服务器。这些服务器在没有连接请求时,处于睡眠状态,当有连接请求时,便由“网络守护进程”激活,我们可进行正常网络业务操作。“网络守护进程”具有如此大的威力,它是什么呢?其实它是一个在后台运行、但不受任何终端控制的网络服务器进程。在Linux下,它就是xinetd。它有两个最大的优点:一是配置简单方便,编码量少;二是进程数目少,节省资源,管理容易。下面,我用一个简便的方法进行配置与编码:

  1、增加监听端口。在文件/etc/services的最后增加如下一行内容:

  xjq 8090/tcp

  2、配置xinetd文件。在目录/etc/xinetd.d增加一个文件,文件名为xjq,内容如下:

service xjq
{
flags      =REUSE
socket ytpe   =stream
wait       =no
user       =root
server      =/etc/xjqd
log_on_failure +=USERID
}

  3、编写服务器程序。服务器程序源代码如下:

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
main()
{
int sock;
struct sockaddr_in cli;
char buf[1024];
int len;
sock=0;
len=sizeof(cli);
getpeername(sock,&cli,&len);
read(sock,buf,1024);
sprintf(buf,"Return: OK ! You success !");
write(sock,buf,strlen(buf));
close(sock);
}

  录入完毕后,用如下格式编译为网络守护进程可调用的程序。

  cc t.c -0 /etc/xjqd

  作完以上工作后,重新启动计算机。开机后,你可执行telnet 127.0.0.1 8090回车,然后任意输入一字串,回车是否看到你的大作了。如果你有兴趣,还可以将上述服务器程序稍做修改,限制某些主机登录到你的机器的8090端口若悬河。你是否受到一点启发,可以通过修改端口或IP地址等信息,作一个简易的防火墙程序,还可以结合系统队列做其它网络工程项目。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值