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

深圳免费网站设计天津建设工程信息网招投标正规吗

深圳免费网站设计,天津建设工程信息网招投标正规吗,wordpress智能,wordpress 换页面文章目录 完整代码实现参考-非项目使用项目使用的代码 - 乱-但是思路与上面的相同创建Kernel类添加删除修改epoll#xff0c;才能写run方法创建stdin_Channel类在Kernel类中实现run方法 完整代码实现参考-非项目使用 #include errno.h #include signal.h #in… 文章目录 完整代码实现参考-非项目使用项目使用的代码 - 乱-但是思路与上面的相同创建Kernel类添加删除修改epoll才能写run方法创建stdin_Channel类在Kernel类中实现run方法 完整代码实现参考-非项目使用 #include errno.h #include signal.h #include unistd.h #include stdlib.h #include stdio.h #include sys/epoll.h #include iostream #include string using namespace std;///stdin_channel类 class stdin_channel{ public:bool ReadFd(string _input){cin _input;} };///zinx_kernel类 class zinx_kernel{stdin_channel m_channel; public:int iEpollFd;bool Add_Channel(stdin_channel _channel){bool bRet false;struct epoll_event stEvent;stEvent.events EPOLLIN;stEvent.data.ptr _channel;if (0 epoll_ctl(iEpollFd, EPOLL_CTL_ADD, 0, stEvent)){m_channel _channel;bRet true;}return bRet;}void Del_Channel(stdin_channel _channel){epoll_ctl(iEpollFd, EPOLL_CTL_DEL, 0, NULL);}bool run(){int iEpollRet -1;for (;;){struct epoll_event atmpEvent[100];iEpollRet epoll_wait(iEpollFd, atmpEvent, 100, -1);if (-1 iEpollRet){if (EINTR errno){continue;}else{break;}}for (int i 0; i iEpollRet; i){stdin_channel *poChannel static_caststdin_channel *(atmpEvent[i].data.ptr);if (0 ! (EPOLLIN atmpEvent[i].events)){string input;poChannel-ReadFd(input);cout input endl;}}}} };///主函数 int main() {zinx_kernel z;stdin_channel s;z.iEpollFd epoll_create(1);z.Add_Channel(s);z.run();}项目使用的代码 - 乱-但是思路与上面的相同 Zinxkernel类中引入Channel类 定义一个channel对象并设置get和set方法。 在stdinChannel类中实现一个ReadFd方法。 创建Kernel类 定义一个channel对象并设置get和set方法。 但是set方法不适用epoll应该是添加通道到epoll里所以使用Addchannel #pragma once#include stdin_channel.h #include Ichannel.hclass zinxkernel {stdin_channel *m_channel nullptr;zinxkernel();virtual ~zinxkernel();static zinxkernel kernel; public:void run();// 删除set方法void AddChannel(Ichannel *_pChannel);void DelChannel(Ichannel *_pChannel);void ModChannel_AddOut(Ichannel *_pChannel);void ModChannel_DelOut(Ichannel *_pChannel);stdin_channel *GetChannel(){return m_channel;}static zinxkernel GetInstance(){return kernel;} }; 添加删除修改epoll才能写run方法 void zinxkernel::AddChannel(Ichannel * _pChannel) {if (true _pChannel-init()){//将参数和文件描述符0关联起来epoll_ctlstruct epoll_event stEvent;stEvent.events EPOLLIN;stEvent.data.ptr _pChannel;epoll_ctl(m_epollFd, EPOLL_CTL_ADD, _pChannel-GetFd(), stEvent);} }void zinxkernel::DelChannel(Ichannel * _pChannel) {epoll_ctl(m_epollFd, EPOLL_CTL_DEL, _pChannel-GetFd(), NULL);_pChannel-fini(); }void zinxkernel::ModChannel_AddOut(Ichannel * _pChannel) {struct epoll_event stEvent;stEvent.events EPOLLIN | EPOLLOUT;stEvent.data.ptr _pChannel;epoll_ctl(m_epollFd, EPOLL_CTL_MOD, _pChannel-GetFd(), stEvent); }void zinxkernel::ModChannel_DelOut(Ichannel * _pChannel) {struct epoll_event stEvent;stEvent.events EPOLLIN;stEvent.data.ptr _pChannel;epoll_ctl(m_epollFd, EPOLL_CTL_MOD, _pChannel-GetFd(), stEvent); } 创建stdin_Channel类 std::string stdin_channel::ReadFd() {std::string ret;std::cin ret;return ret; }在Kernel类中实现run方法 1 等输入epoll 在哪里创建epoll fd 在kernel的构造函数中创建。 zinxkernel::zinxkernel() {int fd epoll_create(1);if (fd 0){m_epollFd fd;} }zinxkernel::~zinxkernel() {if (-1 ! m_epollFd){close(m_epollFd);} }等输入 struct epoll_event astEvents[200];int ready_count epoll_wait(m_epollFd, astEvents, 200, -1);if (0 ready_count){if (EINTR errno){continue;}}2 调用输出通道的读取函数 //2调用通道的读取函数或写出函数for (int i 0; i ready_count; i){if (0 ! (astEvents[i].events EPOLLIN)){// 3 回显到标准输出coutxxxxx}}int main() {stdin_channel in_channel;zinxkernel kernel zinxkernel::GetInstance();kernel.AddChannel(in_channel);kernel.run(); }
http://www.pierceye.com/news/429299/

相关文章:

  • 展览中心网站建设优质的成都网站建设推
  • 建材网站模板济南建设集团网站
  • 合肥市建设建筑网站wordpress医院主题
  • 做ui要上那些网站完全免费网站源码
  • 集团企业网站建设建立网站有哪些步骤
  • 如何做自己的网站整合营销和链路营销
  • 外贸网站的公司介绍响应式布局代码例子
  • 校园网站的意义保定建设厅网站
  • 网站域名注册后怎么打开网站ip安装wordpress
  • 山西太原做网站网站开发上线流程
  • 江门网站建设多少钱网页服务器一年多少钱
  • 网站开发属于什么行业农商网站建设个人总结
  • 网站建设业务开展方案昆明市城市基本建设档案馆网站
  • 湖南网站托管做招聘网站排名
  • 主机屋免费网站空间网站建设安全标准
  • .net cms网站管理系统生态养殖网站模板
  • 国外网站一般公司网站是什么设计师做
  • 备案停止网站网站建设研究课题
  • 个人网站开发是学什么语言网站建设 总体思路
  • 网站怎么留住用户在什么地方可以接到做网站的活
  • jsp页面如何做网站pv统计wordpress4.7.10
  • 澄海网站建设用asp做网站怎么美观
  • 未满18岁能申请网站备案吗网站做qq链接
  • 网络公司网站开发互联网技术专业学什么
  • 校园网站建设详细的设计方案php网站开发实战
  • 网站设计广州量计价格网站可信度建设
  • 门业网站 源码做企业网站必须要座机吗
  • 广东网站开发推荐wordpress快速加载
  • php网站开发外包北京网站建设迈程网络
  • 微信开发者平台取消授权seo资源网站排名