整個(gè)網(wǎng)絡(luò)接口是在network_interface.h和network_interface.cpp開始脓匿。配置信息參考/assets/res/server/kbegine.xml砾肺,這里是網(wǎng)絡(luò)對(duì)外的所有接口做入。
EventDispatcher類是管理事件的一個(gè)類,里面有注冊(cè)/取消讀寫描述符马僻,添加處理任務(wù)坚踩,出錯(cuò)包處理,創(chuàng)建epoll模型踪危。
其中是注冊(cè)/取消讀寫描述符通,創(chuàng)建epoll模型過EventPoller類是實(shí)現(xiàn)的猪落,EventPoller最重要的功能是保存讀寫描述符與相對(duì)應(yīng)的處理函數(shù)贞远。
EpollPoller類管理epoll模型,創(chuàng)建epoll模型笨忌,以及處理讀寫事件蓝仲。
其中EndPoint類是端點(diǎn),可以理解成專門管理sockfd的一個(gè)類官疲,里面包括bind袱结, listen,connet 途凫,accept的基本的套接字編程函數(shù)垢夹,也有獲取本地網(wǎng)絡(luò)地址(本地ip地址和端口號(hào)的函數(shù)),兼容tcp協(xié)議和udp協(xié)議维费。
Address類是對(duì)ip地址和端口號(hào)管理的類果元,里面包括ip地址轉(zhuǎn)化成string ,string轉(zhuǎn)化成ip地址的函數(shù)犀盟。
Channel類可以理解成會(huì)話而晒,每一個(gè)客戶讀連接服務(wù)器都建立一個(gè)會(huì)話,會(huì)話保存了客戶端的信息阅畴,管理這個(gè)客戶端向服務(wù)器收發(fā)信息倡怎。
PacketReceiver專門用來處理服務(wù)器收到客戶端發(fā)過來的包。
TCPPacket是用來存儲(chǔ)TCP協(xié)議服務(wù)器收到的信息。
PacketFilter 提供收發(fā)包接口监署。
不知道怎么寫颤专,先稍微寫一下各個(gè)類的作用。