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 提供收发包接口。


 

发布了47 篇原创文章 · 获赞 21 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/boiled_water123/article/details/104774096