1.2 日期/时间的程序
来源:互联网 发布:网络恶意诽谤刑法 编辑:程序博客网 时间:2024/05/14 23:58
服务器端的代码:
收到客户端的连接请求,获取当前时间,发送给客户端
#include <netinet/in.h>#include <stdio.h>#include <arpa/inet.h>#include <string.h>#include <errno.h>#include <unistd.h>#include <stdlib.h>#include <time.h>#define RECVLINE 128#define LISTENQ 3int main(int argc, char** argv){ int sockfd, n; char buf[RECVLINE]; struct sockaddr_in servaddr; if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { printf("error socket : %s\n", strerror(errno)); return -1; } servaddr.sin_family = AF_INET; servaddr.sin_port = htons(13); servaddr.sin_addr.s_addr = htonl(INADDR_ANY); if (bind(sockfd, (struct sockaddr*)&servaddr, sizeof(servaddr)) < 0) { printf("bind error: %s\n", strerror(errno)); close(sockfd); return -1; } if (listen(sockfd, LISTENQ) < 0) { printf("listen error;%s\n", strerror(errno)); close(sockfd); return -1; } for (;;) { int connfd = accept(sockfd, (struct sockaddr*)NULL, NULL); if (connfd < 0) { printf("accept error:%s\n", strerror(errno)); close(sockfd); return -1; } time_t ticks = time(NULL); snprintf(buf, RECVLINE, "%.24s\n", ctime(&ticks)); write(connfd, buf, strlen(buf)); close(connfd); } return 0;}
客户端的代码:
收到服务器端返回的时间信息,输出到stdout
#include <netinet/in.h>#include <stdio.h>#include <arpa/inet.h>#include <string.h>#include <errno.h>#include <unistd.h>#include <stdlib.h>#define RECVLINE 128int main(int argc, char** argv){ int sockfd, n; char buf[RECVLINE]; struct sockaddr_in servaddr; if (argc != 2) { printf("usage: a.out <IPADDRESS>\n"); return -1; } if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { printf("error socket : %s\n", strerror(errno)); return -1; } servaddr.sin_family = AF_INET; servaddr.sin_port = htons(13); if (inet_pton(AF_INET, argv[1], &(servaddr.sin_addr)) <= 0) { printf("error inet_pton: %s\n", strerror(errno)); close(sockfd); return -1; } if (connect(sockfd, (struct sockaddr*)&servaddr, sizeof(servaddr)) < 0) { printf("connect error: %s\n", strerror(errno)); close(sockfd); return -1; } while ((n = read(sockfd, buf, RECVLINE)) > 0) { buf[n] = 0; if (fputs(buf, stdout) == EOF) { printf("fputs error:%s\n", strerror(errno)); close(sockfd); return -1; } } if (n < 0) { printf("read error:%s\n", strerror(errno)); } exit(0); return 0;}
0 0
- 1.2 日期/时间的程序
- 4.11 日期/时间的程序
- c/c++日期时间的计算程序
- 简单的时间/日期客户端&服务器程序
- 一个简单的时间和日期程序
- <小程序>日期选择器的起始时间极限值
- 小程序中的时间日期 与 字符串的转化
- 日期时间去掉日期后面的时间
- sap的日期,时间
- 时间日期的计算
- 日期时间的转换
- 时间日期的操作
- 日期时间的操作
- 日期时间的计算
- 时间日期的控制
- 日期、时间的用法
- 时间日期的转换
- 日期-时间的联动
- android.os.NetworkOnMainThreadException
- 二叉树的抽象数据类型
- 最短路问题(广搜:迪杰斯特拉算法)
- QTP webTable
- windwos 编译 CoMISo
- 1.2 日期/时间的程序
- PAT_B_结构-06. 复数四则运算(15)
- " Server error. Please try again. "Google APAC 2015 University Graduates Test解决方法
- 【UVA】1151 - Buy or Build(二进制枚举子集 + 并查集)
- hdu 1166 敌兵布阵(线段树)
- Linux学习笔记(一)
- 诶。。。第一篇文章
- 湖大训练赛第十场 Battleship
- NYOJ 题目298 点的变换(数学,矩阵相乘,模板经典)