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

简易EPOLL模型

简易epoll模型

#include<iostream>
#include <netinet/in.h>
#include<sys/fcntl.h>
#include<sys/socket.h>
#include<sys/epoll.h>
#include<arpa/inet.h>
#include <unistd.h>using namespace std;#define IP "192.168.229.134"
#define PORT 8001int main()
{//1,创建套接子int  sevfd = socket(AF_INET, SOCK_STREAM, 0);if(sevfd == -1){cout<<"创建套接子失败"<<endl;return 0;}//2,绑定IP和端口struct sockaddr_in sevaddr;sevaddr.sin_family = AF_INET;sevaddr.sin_addr.s_addr = inet_addr(IP);sevaddr.sin_port = htons(PORT);int ret1 = bind(sevfd,(sockaddr*)&sevaddr,sizeof(sevaddr));if(ret1 == -1){cout<<"绑定IP和端口失败"<<endl;}listen(sevfd, 100);//epollint epofd = epoll_create(1);if(epofd == -1){cout<<"epoll_create 失败"<<endl;}struct epoll_event  event;event.events = EPOLLIN;event.data.fd = sevfd;epoll_ctl(epofd, EPOLL_CTL_ADD, sevfd, &event);struct epoll_event  evs[1024];while(true){int  nfds =  epoll_wait(epofd, evs, 1024, 1);for(int i = 0;i < nfds;i++ ){if(evs[i].data.fd == sevfd){int clientfd = accept(sevfd,nullptr,nullptr);if(clientfd == -1){continue;}struct epoll_event  ev;ev.events = EPOLLIN;ev.data.fd = clientfd;epoll_ctl(epofd, EPOLL_CTL_ADD, clientfd, &ev);}else {char buffer[1024];recv(evs[i].data.fd,buffer,1024,0);cout<<buffer<<endl;}}}close(sevfd);
}
http://www.xdnf.cn/news/12356.html

相关文章:

  • 【地址区间划分】
  • 009-libb64 迅速上手 libb64 -C++开源库108杰
  • jar包如何引入
  • 汇川变频器MD600S-4T-5R5为什么要搭配GRJ9000S-10-T滤波器?
  • 使用 CMAKE_DEBUG_TARGET_PROPERTIES调试目标属性
  • ml307 二次开发
  • 阶段技术问答题目
  • 执行什么命令可以让内存使用率达到80%
  • STM32寄存器访问位宽确实存在16位和32位的混合情况但地址上一定要4字节对齐
  • 智慧照明:集中控制器、单双灯控制器与智慧灯杆网关的高效协同
  • 轻松掌控硬件接口:LuatIO可视化工具,物联网开发的“效率加速器”!
  • PS如何傻瓜式扣图、图片编辑、图片合成
  • 2025.5.28【33OJ NOI 模拟赛 T3】字符串(AC自动机, 字符串后缀结构)
  • [蓝桥杯]耐摔指数
  • World of Warcraft [Vault of Archavon][Reins of the Grand Black War Mammoth]
  • 导航路径优化(一)——平滑
  • Docker MCP 目录和工具包简介:使用 MCP 为 AI 代理提供支持的简单安全方法
  • Java 中比较两个 long 类型变量大小的方法
  • 从Gartner报告看Atlassian在生成式AI领域的创新路径与实践价值
  • Compose Multiplatform 实现自定义的系统托盘,解决托盘乱码问题
  • 电路设计基础-3
  • C# 委托UI控件更新例子,何时需要使用委托
  • leetcode1519. 子树中标签相同的节点数- medium
  • Python文件读取漏洞深度解析与防护指南
  • P10909 [蓝桥杯 2024 国 B] 立定跳远
  • 《涨停28式》速读笔记
  • 数据分析Agent构建
  • Word文档重新打开后标题自动缩进的解决方法
  • 基于eclipse进行Birt报表开发
  • 亲测解决grad can be implicitly created only for scalar outputs