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

企业网站标题优化网站制作网站做网

企业网站标题优化,网站制作网站做网,泰安网约车,免费行情软件在线网站文章目录 2 类图设计3 时序图数据输入处理#xff1a;输出数据处理总流程 4 主要实现的功能4.1 kernel类#xff1a;基于epoll调度所有通道4.2 通道抽象类#xff1a;4.3 标准输入通道子类4.4 标准输出通道子类4.5 kernel和通道类的调用 5 代码设计5.1 框架头文件5.2 框架实… 文章目录 2 类图设计3 时序图数据输入处理输出数据处理总流程 4 主要实现的功能4.1 kernel类基于epoll调度所有通道4.2 通道抽象类4.3 标准输入通道子类4.4 标准输出通道子类4.5 kernel和通道类的调用 5 代码设计5.1 框架头文件5.2 框架实现 遇到的问题: 输入通道类stdin和输出通道类stdout与很多相同点无需写重复代码 抽象: 定义通道抽象类把输入和输出的不同通过虚函数扩展 通道抽象类设计 提供虚函数用于泛化读写提供虚函数用于返回对应的文件描述符epoll处理输出所以需要输出缓冲区对外提供输出数据调用将数据放到输出缓冲区等待epoll调用对外提供泛化扩展用于处理输入的数据 kernel类适配修改 用抽象类指针list存储当前需要侦听的channel根据需求动态地调整epoll事件的监听种类 stdin类重构stdout类创建: 继承抽象通道类实现纯虚函数 2 类图设计 一个kernel存放所有的标准通道父类指针。数据处理放在标准通道中。 3 时序图 数据输入处理 输出数据处理 总流程 4 主要实现的功能 4.1 kernel类基于epoll调度所有通道 4.2 通道抽象类 写出缓冲区函数 将数据追加到缓冲区的函数 虚函数读写获取fd数据处理 4.3 标准输入通道子类 重写读和处理的函数 处理数据的函数将数据交给输出通道 4.4 标准输出通道子类 重写写数据的函数 4.5 kernel和通道类的调用 创建通道对象成员赋值 添加通道到kernel run 5 代码设计 5.1 框架头文件 /*框架头文件*/ class Ichannel { public:virtual bool ReadFd(std::string _input) 0;virtual bool WriteFd(std::string _output) 0;virtual int GetFd() 0;virtual bool DataProcess(std::string _data) 0;void DataSendOut();void DataPush(std::string _data);std::liststd::string m_write_buffer; };class ZinxKernel { private:ZinxKernel();~ZinxKernel();int iEpollFd -1;static ZinxKernel *poZinxKernel;std::listIchannel* m_channel_list; public:static bool ZinxKernelInit();static void ZinxKernelFini();static void Zinx_Run();static bool Zinx_Add_Channel(Ichannel _oChannel);static void Zinx_Del_Channel(Ichannel _oChannel);static void Zinx_SetChannelOut(Ichannel _oChannel);static void Zinx_ClearChannelOut(Ichannel _oChannel);static ZinxKernel *GetInstance() {if (NULL poZinxKernel){poZinxKernel new ZinxKernel();}return poZinxKernel;} };5.2 框架实现 /*业务编写读用户输入向终端输出*/ #include Zinx.husing namespace std;class stdout_channel :public Ichannel { public:// 通过 Ichannel 继承virtual bool ReadFd(std::string _input) override{return false;}virtual bool WriteFd(std::string _output) override{cout _output endl;return true;}virtual int GetFd() override{return 1;}virtual bool DataProcess(std::string _data) override{return false;}} *poOut new stdout_channel();class stdin_channel :public Ichannel { public:// 通过 Ichannel 继承virtual bool ReadFd(std::string _input) override{cin _input;return true;}virtual bool WriteFd(std::string _output) override{return false;}virtual int GetFd() override{return 0;}virtual bool DataProcess(std::string _data) override{poOut-DataPush(_data);return true;}};int main() {ZinxKernel::ZinxKernelInit();ZinxKernel::Zinx_Add_Channel(*(new stdin_channel()));ZinxKernel::Zinx_Add_Channel(*poOut);ZinxKernel::Zinx_Run();ZinxKernel::ZinxKernelFini(); }
http://www.hkea.cn/news/14316786/

相关文章:

  • 社交网站建设公司书画艺术网站建设概况
  • 重庆网站空间主机评价36氪网站是用什么做的
  • 滨海做网站哪家好滨江网站制作
  • 网站建设大数据网页设计培训班需要多久
  • wordpress建m域名网站上海今天最新发布会
  • 怎么做购物平台网站酷站是什么网站
  • 网站改版对seo影响wordpress数据库修改
  • 网站开发软件有哪些免费网站建设公司六安
  • 可以做网站的域名后缀开发app需要钱吗
  • 网站建设吗网站后台登录不进去
  • 南通网站建设外包wordpress网站500
  • 做网站的系统功能需求wordpress如何站点
  • 深圳网站建设怎么选择重庆建设工程安全协会网站
  • 百度智能门户建站怎么样wordpress如何网站顶部右侧广告
  • 国内使用vue做的网站商丘猎狐网络
  • 后缀为net的网站有哪些云服务器哪家好
  • html5在线网站网站建站公司一站式服务
  • wordpress商业网站wordpress联系方式插件
  • 深圳市建设银行网站wordpress页面不加载主题js
  • 威海企业网站建设移动端网站建设需要注意哪些问题
  • 对重庆电子政务网站建设评价长沙市旅游景点
  • 广州信科做网站成都地铁小程序
  • 网站 多个ip 备案建设工程合同协议书
  • 怎样做企业营销网站男女做床上网站
  • 福田做棋牌网站建设多少钱完整php网站开发
  • 深圳网站优化怎么做做a 免费网站
  • 北碚集团网站建设电子商务主要是干嘛的
  • 网站链接是什么六安网站建设网络服务
  • 做悬浮导航的网站郑州seo公司哪家好
  • 营销网站建设培训学校紫鸟超级浏览器手机版