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

网站第一屏一般做多大深圳谷歌优化seo

网站第一屏一般做多大,深圳谷歌优化seo,成品网站建设哪家好,大连城乡住房建设厅网站文章目录 2 类图设计3 时序图数据输入处理:输出数据处理总流程 4 主要实现的功能4.1 kernel类:基于epoll调度所有通道4.2 通道抽象类: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::list<std::string> m_write_buffer;
};class ZinxKernel {
private:ZinxKernel();~ZinxKernel();int iEpollFd = -1;static ZinxKernel *poZinxKernel;std::list<Ichannel*> 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.h"using 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.hengruixuexiao.com/news/13709.html

相关文章:

  • 优惠网站代理怎么做台州网站制作维护
  • 市场营销研究生好考吗北京seo服务商
  • 青海省建设厅建管处网站自动app优化
  • 惠城网站建设服务品牌网络营销案例
  • 网站建设汇报软件开发培训
  • 网站推广服务 商务服务软考培训机构哪家好一点
  • 西安专业网站建设网站如何seo推广
  • 菠菜网站开发csjylw百度指数关键词搜索趋势
  • 邢台哪个公司做网站好百度seo优化服务
  • 企业网站不备案百度网游排行榜
  • 网站开发遇到的风险龙岗网络公司
  • 大鹏新区住房和建设局网站产品怎么做市场推广
  • 免费网站认证网络推广主要做什么
  • 为了 门户网站建设网络优化app哪个好
  • 东台做网站公司企业网络营销成功案例
  • 宁夏做网站建设公司营销手机都有什么功能啊
  • 内部卷网站怎么做的如何做网络推广人员
  • 有没有什么做水利资料的网站推广网站公司
  • 浦东新区苏州网站建设打开百度一下搜索
  • php做电商网站开题报告头条站长平台
  • 网站建设鞍山2021年网络十大关键词
  • 全响应网站百度 营销中心
  • 北京网站建设的报价大泽山seo快速排名
  • 哪些网站可以在线做动图公司网络优化方案
  • 做菠菜网站多少钱网盟推广
  • 做网站怎么引流seo翻译
  • 网站建设方案拓扑图seo外链推广
  • 芜湖网站制作公司网站建设与管理
  • 上海网站建设公司大全交易平台
  • asp语言的网站建设最近的国际新闻大事