KBEngine关于网络部分

整个网络接口是在network_interface.h和network_interface.cpp开始。配置信息参考/assets/res/server/kbegine.xml,这里是网络对外的所有接口。

EventDispatcher类是管理事件的一个类,里面有注册/取消读写描述符,添加处理任务,出错包处理,创建epoll模型。

其中是注册/取消读写描述符通,创建epoll模型过EventPoller类是实现的,EventPoller最重要的功能是保存读写描述符与相对应的处理函数。

EpollPoller类管理epoll模型,创建epoll模型,以及处理读写事件。

其中EndPoint类是端点,可以理解成专门管理sockfd的一个类,里面包括bind, listen,connet ,accept的基本的套接字编程函数,也有获取本地网络地址(本地ip地址和端口号的函数),兼容tcp协议和udp协议。

Address类是对ip地址和端口号管理的类,里面包括ip地址转化成string ,string转化成ip地址的函数。

Channel类可以理解成会话,每一个客户读连接服务器都建立一个会话,会话保存了客户端的信息,管理这个客户端向服务器收发信息。

PacketReceiver专门用来处理服务器收到客户端发过来的包。

TCPPacket是用来存储TCP协议服务器收到的信息。

PacketFilter 提供收发包接口。

不知道怎么写,先稍微写一下各个类的作用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 32,849评论 24 1,002
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,418评论 11 349
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,270评论 30 472
  • 点击上方蓝色字体关注「程序员共读」 这半年一直在教女朋友写程序,女朋友工作确定后,正好知乎上也有这么一个问题《如何...
    罗义的夏天阅读 849评论 1 3
  • 桥上的风,可能记忆太深,想他来,他就来。轻拿你的发丝,搭住你的肩,可你也留不住,就算留住了,你也不知道他以什么样的...
    璞予及茶阅读 356评论 0 0