(unix网络编程)时间获取程序
来源:互联网 发布:java奇数偶数的和 编辑:程序博客网 时间:2024/06/06 07:43
服务器端代码如下:
#include <stdio.h> #include <stdlib.h>#include <string.h>#include <arpa/inet.h>#include <sys/types.h>#include <sys/socket.h>#include <time.h>#include <unistd.h>#include <errno.h>#define MAXLINE 4096#define LISTENQ 5int 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)) < 0) {printf("socket error\n");return -1;}memset(&servaddr, 0x00, sizeof(servaddr));servaddr.sin_family = AF_INET;servaddr.sin_addr.s_addr = htonl(INADDR_ANY);servaddr.sin_port = htons(5000);if (bind(listenfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0) {printf("bind error: %s\n", strerror(errno));return -1;}if (listen(listenfd, LISTENQ) < 0) {printf("listen error: %s\n", strerror(errno));return -1;}for (;;) {connfd = accept(listenfd, (struct sockaddr *)NULL, NULL);ticks = time(NULL);snprintf(buff, sizeof(buff), "%.24s\r\n", ctime(&ticks));if ((write(connfd, buff, strlen(buff))) < 0)printf("write error\n");if(close(connfd) < 0)printf("close error\n");}}
客户端代码如下:
#include <stdio.h>#include <string.h>#include <arpa/inet.h>#include <sys/types.h>#include <sys/socket.h>#include <errno.h>#include <unistd.h>#define MAXLINE 4096int main(int argc, char **argv){int sockfd, n;char recvline[MAXLINE + 1];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("socket error\n");return -1;}memset(&servaddr, 0x00, sizeof(servaddr));servaddr.sin_family = AF_INET;servaddr.sin_port = htons(5000);if (inet_pton(AF_INET, argv[1], &servaddr.sin_addr) <= 0) {printf("inet_pton error for %s\n", argv[1]);return -1;}if (connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0) {printf("connect error: %s\n", strerror(errno));return -1;}while ((n = read(sockfd, recvline, MAXLINE)) > 0) {recvline[n] = 0;if (fputs(recvline, stdout) == EOF)printf("fputs error\n");}if (n < 0)printf("read error\n");return 0;}
这个是最基本的网络编程的例子,后续所有的内容都是在这个基础上扩展来的
0 0
- (unix网络编程)时间获取程序
- 简单的获取服务器时间程序(UNIX网络编程)
- Unix网络编程实例:获取时间网络程序
- UNIX网络编程,时间获取服务器的搭建,程序运行
- unix网络编程卷1 时间获取客户端程序
- 简单的时间获取程序-unix网络编程
- Unix网络编程实践:时间获取客户程序
- Unix网络编程实践:时间获取服务器程序
- UNIX网络编程学习(3)--简单时间获取服务器程序
- Unix网络编程(卷一)-第一个简单的时间获取程序
- unix网络编程第一个程序-获取时间(含借鉴)
- unix网络编程初探---获取服务器时间
- UNIX网络编程——非阻塞connect:时间获取客户程序
- Unix网络编程:关于编译并测试TCP时间获取的客户程序
- UNIX网络编程卷1 时间获取程序客户端 TCP 协议相关性
- UNIX网络编程卷1 时间获取程序客户端 TCP 使用非阻塞connect
- UNIX网络编程卷1 时间获取程序客户端 UDP 协议无关
- UNIX网络编程卷1 时间获取程序服务器 TCP 协议相关性
- Java基础之软引用、弱引用、虚引用
- javascript中五种实现对象继承的方法
- 黑马程序员_7K面试题之银行调度系统
- 从CVPR2013看计算机视觉研究的三个趋势
- log::Reader-levelDB源码解析
- (unix网络编程)时间获取程序
- log format-levelDB源码解析
- java编程_socket_套接字_网络编程
- 推荐一个背景建模的开源库
- html之api
- ubuntu的apt-get时常用的一些源
- LIOP特征
- C陷阱篇之enum默认长度
- win8 开启网络共享给其他电脑【整理自网上】