Unix网络编程实践:时间获取服务器程序
2017-11-16 22:18
288 查看
第二课
daytimetcpsrv.c程序源码如下:#include <stdlib.h> #include <stdio.h> #include <errno.h> #include <string.h> #include <unistd.h> #include <netdb.h> #include <sys/socket.h> #include <netinet/in.h> #include <sys/types.h> #include <arpa/inet.h> #include <time.h> #define MAXLINE 256 #define LISTENQ 5 int main(int argc, char **argv) { int listenfd, connfd; struct sockaddr_in servaddr; char buff[MAXLINE]; time_t ticks; if ( (listenfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { fprintf(stderr, "Socket error:%s\n\a", strerror(errno)); exit(1); } bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = htonl(INADDR_ANY); servaddr.sin_port = htons(13); if (bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr)) == -1) { fprintf(stderr, "Bind error:%s\n\a", strerror(errno)); exit(1); } if (listen(listenfd, LISTENQ) == -1) { fprintf(stderr, "Listen error:%s\n\a", strerror(errno)); exit(1); } for ( ; ; ) { if ( (connfd = accept(listenfd, (struct sockaddr *) NULL, NULL)) == -1) { fprintf(stderr, "Accept error:%s\n\a", strerror(errno)); } snprintf(buff, sizeof(buff), "%.24s\r\n", ctime(&ticks)); if (write(connfd, buff, strlen(buff)) == -1) { fprintf(stderr, "Write error:%s\n\a", strerror(errno)); exit(1); } close(connfd); } }
编译: gcc -o daytimetcpsrv daytimetcpsrv.c
执行生成的服务器脚本:sudo ./daytimetcpsrv
来查看下服务器现在的状态吧:
1. ps aux | grep daytimetcpsrv (查看进程是否运行)
2. sudo lsof -i:13 (查看13端口是否被进程使用)
3. telnet 127.0.0.1 13 ,访问此端口服务即可获得服务器时间,如下:Thu Jan 1 08:00:00 1970
4. 也可以用我们上一节的客户端程序调用此服务器服务, ./daytimetcpcli 127.0.01 , 获得返回如下: Thu Jan 1 08:00:00 1970
相关文章推荐
- UNIX网络编程1.5一个简单的时间获取服务器程序1.6客户服务器程序索引表
- UNIX网络编程学习(3)--简单时间获取服务器程序
- 《UNIX网络编程》第一章——一个简单的时间获取客户端/服务器程序
- Unix网络编程(卷一)-第一个简单的时间获取程序
- unix网络编程第一个程序-获取时间(含借鉴)
- Unix网络编程:从入门到放弃——一个简单的时间获取程序
- Unix网络编程:关于编译并测试TCP时间获取的客户程序
- unix网络基础-显示客户IP地址和端口号的时间获取服务器程序
- UNIX网络编程笔记(2):一个简单的时间获取程序
- linux c 获取当前时间 毫秒级的 unix网络编程
- unix网络编程初探---获取服务器时间
- unix网络基础-TCP时间获取服务器程序
- TCP的时间获取客户程序和时间获取服务器程序
- Unix网络编程实践:时间获取客户程序
- 一个简单的时间获取服务器程序
- UNIX网络编程 -- -- 一个简单的时间获取客户程序
- 前端获取服务端时间的最佳实践
- 一个简单的时间获取客户端——服务器程序
- 简单的时间获取程序-unix网络编程
- (unix网络编程)时间获取程序