自己用C++11写的一个回显服务器,底层使用的是epoll系统调用,以及使用了C++11新加的特性,例如function,lambda,auto等等. 编译运行也很简单,只需要在主目录下运行make即可
make
主程序为:
#include "../net/Ionet.h"
int main(void)
{
ionet::Ionet tcpnet;
tcpnet.netInit("127.0.0.1", 9999);
tcpnet.run();
return 0;
}
声明一个Ionet类,然后调用初始化函数,绑定ip地址和端口,运行即可.下面是输出截图:
-
运行服务器时,绑定本地端口9999,后续会改成getaddrinfo函数,这时只需要传入端口即可,有如下输出: 由于只有一个listenfd,且使用的是fd=4,只有可读事件.
-
当有两个客户端连接时,分别分配一个fd,有如下输出: 这两个客户端分别占用了fd=5和fd=6两个文件描述符,并加入可读事件
这只是我写NoSQL的一个子项目,接下来,我先把这个子项目生成一个NoSQL数据库,而且功能还会继续完善...