UNIX网络编程,时间获取服务器的搭建,程序运行

书中1-5的程序如下所示,稍作修改,不用引用unp.h文件。

#include<stdio.h>
#include<errno.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<stdlib.h>
#include<string.h>
#define MAXLINE 1024
int main(int argc,char **argv)
{
int count=0;
int sockfd,n;
char recvline[MAXLINE+1];
struct sockaddr_in servaddr;
if(argc!=2)
   printf("error");
if((sockfd=socket(AF_INET,SOCK_STREAM,0))<0)
  perror("sock error");
bzero(&servaddr,sizeof(servaddr));
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(13);
if(inet_pton(AF_INET,argv[1],&servaddr.sin_addr)<=0)
   perror("inet_pton error");
if(connect(sockfd,(struct sockaddr*)&servaddr,sizeof(servaddr))<0)
    perror("connect error");
 while((n=read(sockfd,recvline,MAXLINE))>0)
{
  count++;
  recvline[n]=0;
 if(fputs(recvline,stdout)==EOF)
 perror("fputs error");
 }
 printf("%d\n",count);
 if(n<0)
  printf("read error");
 exit(0);
}

编译连接:

gcc 1-5.c -o 1-5

运行:

./1-5 127.0.0.1

如果事先没有搭建时间获取服务器,会出现该端口没有开启相应的服务,类似如下:

connect error: Connection refused
这时候需要搭建并开启时间获取服务器。

搭建方式如下:

1.安装xinetd,这是一个系统服务管理的程序   yum install xinetd

2.进入目录,修改配置文件

cd  /etc/xinetd.d

修改daytime-stream和daytime-dgram

将disable     = yes

改为:disable     = no
3.重新启动服务

service xinetd restart

到此,环境配置完成。

重新运行程序,得到结果:

12 NOV 2013 10:30:00 CST



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值