当前位置: 首页 > news >正文

河北恒山建设集团网站wordpress mu 2017

河北恒山建设集团网站,wordpress mu 2017,芜湖市建设银行支行网站,广告优化前言 本文通过一对经典的时间获取客户/服务器程序#xff0c;展现了Linux网络编程的大体框架#xff0c;为以后更深入的学习打下基础。 客户服务器模式网络编程的大体框架 客户端代码 1 #include stdio.h2 // 下头文件包含socket(), bind()等套接字通信必须的函数。3…前言   本文通过一对经典的时间获取客户/服务器程序展现了Linux网络编程的大体框架为以后更深入的学习打下基础。 客户服务器模式网络编程的大体框架 客户端代码 1 #include stdio.h2 // 下头文件包含socket(), bind()等套接字通信必须的函数。3 #include sys/socket.h4 // 下头文件包含网际套接字变量的类型定义等。5 #include netinet/in.h6 // 下头文件包含bzero()函数等7 #include string.h8 // 下头文件包含errno变量等9 #include errno.h 10 11 #define MAXLINE 100 12 13 int main (int argc, char ** argv) 14 { 15 // 定义套接字描述符变量sockfd 16 // 定义变量n存放read函数返回值 17 int sockfd, n; 18 // 定义字符数组recvline存放时间查询结果 19 char recvline[MAXLINE 1]; 20 // 定义套接字变量servaddr( 注意这里存放的是服务器端的信息 ) 21 struct sockaddr_in servaddr; 22 23 // 检查命令格式是否正确 24 if (argc ! 2) { 25 puts(命令格式错误\n); 26 return 1; 27 } 28 29 // 创建一个网际字节流套接字 30 if ((sockfd socket(AF_INET, SOCK_STREAM, 0)) 0) { 31 puts(网际套接字创建失败\n); 32 return 2; 33 } 34 35 // 将套接字变量servaddr清零 36 bzero(servaddr, sizeof(servaddr)); 37 // 给套接字变量的协议段赋值( AF_INET表示IPv4协议 ) 38 servaddr.sin_family AF_INET; 39 // 给套接字变量的端口段赋值( 13是时间服务器端口 ) 40 servaddr.sin_port htons(13); 41 // 给套接字变量的IP段赋值( argv[1]存放服务器IP ) 42 if (inet_pton(AF_INET, argv[1], servaddr.sin_addr) 0) { 43 puts(IP地址格式转换失败); 44 return 3; 45 } 46 47 // 按照先前socket函数指定的协议类型与服务器进行连接 48 if (connect(sockfd, (struct sockaddr *) servaddr, sizeof(servaddr)) 0) { 49 puts(连接失败\n); 50 return 4; 51 } 52 53 // 从缓冲区读取时间查询结果并放进recvline数组中 54 if ( (n read(sockfd, recvline, MAXLINE)) 0 ) { 55 recvline[n] 0; 56 puts(recvline); 57 } 58 if (n 0) { 59 puts(读取数据发生错误); 60 } 61 62 return 0; 63 } 服务器端代码 1 #include stdio.h2 3 // 下头文件包含socket(), bind()等套接字通信必须的函数。4 #include sys/socket.h5 // 下头文件包含网际套接字变量的类型定义等。6 #include netinet/in.h7 // 下头文件包含bzero()函数等8 #include string.h9 // 下头文件包含errno变量等 10 #include errno.h 11 // 下头文件包含一些时间函数 12 #include time.h 13 14 #define MAXLINE 100 15 #define LISTENQ 5 16 17 int main(int argc, char **argv) 18 { 19 // 定义监听套接字描述符listenfd 20 // 定义连接套接字描述符 21 int listenfd, connfd; 22 // 定义套接字变量servaddr( 注意这里存放的是客户端的信息 ) 23 struct sockaddr_in servaddr; 24 // 定义字符数组buff暂存时间 25 char buff[MAXLINE]; 26 27 // 定义时间相关变量 28 time_t ticks; 29 struct tm *ptm; 30 31 // 创建一个网际字节流套接字 32 if ((listenfd socket(AF_INET, SOCK_STREAM, 0)) 0) { 33 puts(创建网际套接字失败\n); 34 return 1; 35 } 36 37 // 将套接字变量servaddr清零 38 bzero(servaddr, sizeof(servaddr)); 39 // 给套接字变量的协议段赋值( AF_INET表示IPv4协议 ) 40 servaddr.sin_family AF_INET; 41 // 给套接字变量的端口段赋值( 13是时间服务器端口 ) 42 servaddr.sin_addr.s_addr htonl(INADDR_ANY); 43 // 给套接字变量的IP段赋值( argv[1]存放服务器IP ) 44 servaddr.sin_port htons(13); 45 46 // 把指定的协议地址绑定到套接字 47 if (bind(listenfd, (struct sockaddr *) servaddr, sizeof(servaddr)) 0 ) { 48 puts(绑定服务端口失败\n); 49 return 2; 50 } 51 // 将套接字转换为监听套接字类型 52 if (listen(listenfd, LISTENQ) 0) { 53 puts(创建监听套接字失败\n); 54 return 3; 55 } 56 57 while (1) { 58 // 等待客户呼叫若收到呼叫则返回一个已连接套接字。 59 connfd accept(listenfd, (struct sockaddr *)NULL, NULL); 60 61 /* 62 * 获取时间并存放进buff数组 63 */ 64 ticks time(NULL); 65 ptm localtime(ticks); 66 snprintf(buff, sizeof(buff), 现在是北京时间:\n%d年 %d月 %d日 %d时 %d分, ptm-tm_year1900, ptm-tm_mon1, ptm-tm_mday, ptm-tm_hour, ptm-tm_min); 67 68 // 往客户端缓冲区中写入时间 69 while (write(connfd, buff, strlen(buff)) 0) { 70 puts(写入数据失败\n); 71 return 4; 72 } 73 // 关闭连接 74 if (close(connfd)) { 75 puts(关闭套接字失败\n); 76 return 5; 77 } 78 } 79 } 运行测试   1. 在一个终端用超级用户权限启动服务器       2. 在另一个终端中启动客户端并输进本机IP或者127.0.0.1     转载于:https://www.cnblogs.com/scut-fm/p/3321508.html
http://www.zqtcl.cn/news/50339/

相关文章:

  • 大连做网站价钱英文网页
  • 网站开发与系统开发wordpress 插件语言包
  • 一条专访是哪个网站做的厦门网站制作开发收费
  • 收费网站必须备案吗狗狗和人做网站
  • 清远网站推广优化公司wordpress基本文档
  • 建了网站却搜不出来设计本质安全
  • 高端网站案例莆田专门做网站
  • 做ppt的网站有哪些内容吗环保部网站官网建设项目限批办法
  • 商城网站做推广有什么好处测词汇量的专业网站
  • 有人做彩票网站吗浏阳市住房和城乡建设局的网站
  • 静态网站开发基础小微企业2022年税收优惠政策
  • dede网站收录网站做sem优化
  • 怎样设计一个网站平台上海材料网站建设
  • 做网站要实名认证吗网站建设的税率
  • 网站网站建设设计公司怎么用wordpress建外贸网站
  • 广州建设网站技术电商网站设计的原则
  • 网站后台更新 前台为啥没反应广西网络干部学院
  • 管理系统是网站吗个人介绍网页设计作品
  • 门户网站开发建设技术wordpress响应式主题always
  • 找人做网站去哪里找wordpress禁止图片点击
  • 开发网站监控推荐百度网站优化软件
  • 网站流量图怎么做一级水蜜桃
  • ps做图 游戏下载网站有哪些邯郸市最新招聘信息
  • dede电影网站模版海口网站建设哪个好薇
  • 健身网站开发可行性分析做网站公司属于什么行业
  • 临沂专业网站建设设计公司深圳网站的设计公司
  • 网站中的人力资源建设网站服务器购买
  • 手机做兼职的网站阿里云域名注册企业邮箱
  • 宠物网站开发网站名称推荐
  • 紫金网站建设价格网站推广途径有哪些