(unix网络编程)时间获取程序
2013-12-15 14:55
417 查看
服务器端代码如下:
客户端代码如下:
这个是最基本的网络编程的例子,后续所有的内容都是在这个基础上扩展来的
#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 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)) < 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 4096 int 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 = 0; if (fputs(recvline, stdout) == EOF) printf("fputs error\n"); } if (n < 0) printf("read error\n"); return 0; }
这个是最基本的网络编程的例子,后续所有的内容都是在这个基础上扩展来的
相关文章推荐
- UNIX网络编程1.5一个简单的时间获取服务器程序1.6客户服务器程序索引表
- 简单的时间获取程序-unix网络编程
- UNIX网络编程笔记(2):一个简单的时间获取程序
- Unix网络编程(卷一)-第一个简单的时间获取程序
- UNIX网络编程——非阻塞connect:时间获取客户程序
- UNIX网络编程——非阻塞connect:时间获取客户程序
- UNIX网络编程——非阻塞connect:时间获取客户程序
- Unix网络编程:从入门到放弃——一个简单的时间获取程序
- 【unix网络编程】4-11显示客户IP地址和端口号的时间获取服务程序
- Unix网络编程:关于编译并测试TCP时间获取的客户程序
- [2016/8/22][Unix网络编程]第一章:①时间获取程序
- unix网络编程第一个程序-获取时间(含借鉴)
- UNIX网络编程 -- -- 一个简单的时间获取客户程序
- C++获取当前时间和计算程序运行时间的方法
- FileInfo 0.0.0005--masm32写的获取文件属性、版本、时间、MD5、SHA1 等信息的小程序
- 用程序获取 Internet 时间 无通用性程序后的暂用办法
- 简单的时间获取C/S程序
- Halcon一日一练:获取程序运行时间
- VC获取系统时间、程序运行时间
- .Net中获取程序执行时间的方法