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

高端网站建设 炫酷公司网站展示有哪些

高端网站建设 炫酷,公司网站展示有哪些,中国移动互联网,大学网页制作学什么#xff08;4#xff09;本实验代码的蓝本#xff0c;是伊圣雨老师里的课本里的代码#xff0c;略加改动而来的。 以下是 服务器端的代码#xff1a; 每当收到客户端的报文时#xff0c;就测试一下对应的 epoll 事件里的事件标志#xff0c;不读取报文内容#xff0c;…4本实验代码的蓝本是伊圣雨老师里的课本里的代码略加改动而来的。 以下是 服务器端的代码 每当收到客户端的报文时就测试一下对应的 epoll 事件里的事件标志不读取报文内容所以设置为 ET 边缘触发模式。 对应的代码版本 #include stdio.h #include stdlib.h #include string.h #include unistd.h #include arpa/inet.h #include sys/socket.h #include sys/epoll.h #include fcntl.h //增加这俩头文件 #include errno.h#define EPOLL_SIZE 50int main(int argc,char * argv[]) { //验证 EPOLLHUP 等标志的服务器端, argc 2int serv_sock, clnt_sock, str_len, i, epfd, event_cnt;struct sockaddr_in serv_adr, clnt_adr;socklen_t adr_sz; struct epoll_event event, * ep_events;if(argc ! 2) { printf(参数不是2个\n);exit(1); }serv_sock socket(PF_INET,SOCK_STREAM,0);printf(创建了监听套接字,描述符为: %d\n,serv_sock);memset(serv_adr,0,sizeof(serv_adr));serv_adr.sin_family AF_INET; // 协议serv_adr.sin_addr.s_addr htonl(INADDR_ANY);//IP地址serv_adr.sin_port htons(atoi(argv[1])); //端口号bind( serv_sock,(struct sockaddr *)serv_adr, sizeof(serv_adr) ) ;listen(serv_sock,5);epfd epoll_create(EPOLL_SIZE); // EPOLL_SIZE 50event.events EPOLLIN; // 监听套接字仍为水平触发模式event.data.fd serv_sock;epoll_ctl(epfd, EPOLL_CTL_ADD, serv_sock, event);ep_events malloc(sizeof(struct epoll_event) * EPOLL_SIZE);while (1) // 此循环在正常情况下是不会退出的。{ event_cnt epoll_wait(epfd, ep_events, EPOLL_SIZE, -1); if(-1 event_cnt) { break; } // 出错则结束循环进程退出 puts(从 epoll_wait() 返回了);//统计epoll_wait()的返回次数for(i 0 ; i event_cnt ; i) //依次处理所有发生了事件的套接字{ if(ep_events[i].data.fd serv_sock)//监听套接字{ adr_sz sizeof(clnt_adr);clnt_sock accept( serv_sock,(struct sockaddr *)clnt_adr,adr_sz );event.events EPOLLIN | EPOLLHUP |EPOLLRDHUP | EPOLLET ;// 通信套接字用边缘触发是因为不准备读取报文event.data.fd clnt_sock; epoll_ctl(epfd, EPOLL_CTL_ADD, clnt_sock, event); printf(创建了通信套接字 id: %d\n, clnt_sock);} else { // 依次测试通讯套接字上有事件时具有的 epoll标志。uint32_t revents ep_events[i].events; int fd ep_events[i].data.fd;if( revents EPOLLIN ) printf(通信套接字 %d 上有 EPOLLIN 事件\n, fd);if( revents EPOLLHUP ) printf(通信套接字 %d 上有 EPOLLHUP 事件\n, fd);if( revents EPOLLRDHUP ) printf(通信套接字 %d 上有 EPOLLRDHUP 事件\n, fd);}} // for(...) } // while(...)return 0; }5 接着给出客户端的版本这是一个 linux 版本的客户端很简单的小程序 记录其源代码版本 #include stdio.h #include stdlib.h #include string.h #include unistd.h #include arpa/inet.h #include sys/socket.hint main(int argc,char * argv[]) { // 回声客户端三个参数argc 3int sock, str_len; struct sockaddr_in serv_adr;if(argc ! 3) { printf(参数不是3个\n);exit(1); }sock socket(PF_INET,SOCK_STREAM,0);memset(serv_adr,0,sizeof(serv_adr));serv_adr.sin_family AF_INET;// serv_adr.sin_addr.s_addr inet_addr(argv[1]);// inet_addr() 的语义不明不好// 处理文本地址只需使用 inet_pton() 与 inet_ntop() 即可。// int inet_pton(int af, const char *src, void *dst);inet_pton(AF_INET, argv[1], serv_adr.sin_addr.s_addr);serv_adr.sin_port htons(atoi(argv[2]));if(connect(sock, (struct sockaddr *)serv_adr, sizeof(serv_adr)) ! -1)puts(客户端套接字连接至服务器成功\n);sleep(60); // 延迟 60s 以观察实验结果close(sock); // 此行可注释以验证 四次握手与 RST 报文的出现时机exit(0); }6后来实验中发现客户端采用 linux 版本会导致 wireshark 无法抓包只好再编写 windows 版本的客户端源代码如下 代码版 #include stdio.h #include stdlib.h #include winsock2.h#pragma warning(disable : 4996) // 禁用关于 inet_addr 的过时警告int main() {WSADATA m_wsadata; // 在 windows平台使用 socket前须做一下初始化,WSAStartup(0x0202, m_wsadata); // 最后用 WSACleanup() 释放库。SOCKET sClient socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);SOCKADDR_IN server_in;memset(server_in, 0, sizeof(SOCKADDR_IN)); //连接服务器server_in.sin_family AF_INET;server_in.sin_port htons(9000); // 连接至 80 端口server_in.sin_addr.s_addr inet_addr(192.168.1.126);connect(sClient, (struct sockaddr*)server_in, sizeof(SOCKADDR_IN));for (int i 0; i 1000000000; i); // 延时一下closesocket(sClient); // 关闭套接字的函数WSACleanup(); // 用这个函数关闭库return 0; }使用 windows 的套接字还要设置一下 vs2019 要不然上面的代码会找不到外部函数。 以及 7 以下给出实验结果配合 wireshark 抓包 8 谢谢
http://www.w-s-a.com/news/747878/

相关文章:

  • wordpress 百度地图api网络seo天津
  • 网站营销咨询顾问餐饮加盟网站建设方案
  • 网站后台管理系统的重要技术指标wordpress下单邮件通知的实现
  • 通化县住房和城乡建设局网站定制网站收费
  • 湖北做网站教程哪家好成都网站建设询q479185700上快
  • 网站的seo方案鹰潭做网站的公司
  • 高级室内设计网站太原网站设计费用
  • 智信建设职业培训学校网站深圳做网站建设开发
  • 宣城市住房和城乡建设局网站网站界面设计专利
  • 免费个人网站建站申请如何做内网网站
  • 福州专业网站建设怎么做黄骅港怎么读
  • 望京 网站建设深圳发型网站建设
  • 电商网站的相同点医疗网站建设代理商
  • 网址导航网站有哪些易营宝智能建站
  • 私人定制哪个网站做的比较好免费网站使用
  • 嘉兴网站建设系统免费的seo优化
  • 购书网站开发的意义网站建设接单渠道
  • 网站站内搜索怎么做wordpress默认主题修改
  • 网站推广的表现方式交网站建设 域名计入什么科目
  • 龙岗南联网站建设公司江门市
  • 网站运行方案设计平台模式
  • 网站加入wordpress邳州城乡建设局网站
  • 两个网站如何使用一个虚拟主机东莞市网站seo内容优化
  • 湖南网站建设公司排名傲派电子商务网站建设总结
  • 网站建设求职要求互联网挣钱项目平台
  • 网站权重怎么做做黑彩网站能赚钱吗
  • 三台建设局网站网页设计购物网站建设
  • thinkphp大型网站开发市场调研公司招聘
  • 天宁区建设局网站七冶建设集团网站 江苏
  • 越南网站 后缀湘潭新思维网站