摘要:
用了这几天的时间,把muduo这个库算是看完了,看完了之后回过头来发现自己的记录里感觉啥都没写。写一下服务器端启动的流程吧 服务器端main函数里定义一个EvetnLoop,属于主事件循环,主事件循环里有一个轮训器,可以向其中注册自己关心的文件描述符,在每次轮询时可以进行查找,创建TcpServer 阅读全文
摘要:
TcpConnection.h TcpServer.h Connector.h TcpClient.h //客户端封装了一个连接器 阅读全文
摘要:
EventLoop.h eventfd 是 Linux 的一个系统调用,创建一个文件描述符用于事件通知,自 Linux 2.6.22 以后开始支持。 eventfd() 创建一个 eventfd 对象,可以由用户空间应用程序实现事件等待/通知机制,或由内核通知用户空间应用程序事件。 该对象包含了由内 阅读全文
摘要:
net模块 Callbacks.h Endian.h Buffer.h TimerId.h 本身就是对Timer的一个包装 TimerQueue.h 定时器队列 阅读全文
摘要:
LogStream.h Logging.h BoundBlockingQueue.h Exception.h //对与异常的包装与处理 阅读全文
摘要:
muduo base模块中关于线程大部分都看完了,看看关键计时功能的实现把 Date.h struct tm { int tm_sec; / 秒 – 取值区间为[0,59] / int tm_min; / 分 取值区间为[0,59] / int tm_hour; / 时 取值区间为[0,23] / 阅读全文
摘要:
这几天因为工作需求,学习了多线程编程,用线程池写了一个小工具,对于网络库的回调,多线程理解加深了一层理解。发觉,利用理解多线程,理解这些小的组件,也非常重要。被工作打断,直接阅读net模块有点难度,打算从base模块阅读起。 关于Type.h文件 主要是对c++基本转换做了一个封装 CurrentT 阅读全文
摘要:
Poll函数 poll函数的事件标志符值 常量 说明 POLLIN 普通或优先级带数据可读 POLLRDNORM 普通数据可读 POLLRDBAND 优先级带数据可读 POLLPRI 高优先级数据可读 POLLOUT 普通数据可写 POLLWRNORM 普通数据优先级数据可写 POLLWRBAND 阅读全文
摘要:
Socket.h Socket.cc class Socket实际上没有写什么东西,几乎都是在调用moduo::net::socket下的一些函数 出现了两个新的类 tcp_info 与 InetAddress InetAddress是对socket的 sockaddr_in 和 sockaddr_ 阅读全文
摘要:
在接触网络编程是,网上,基本的socket样例过于简单,公司的网络库匹配性太强,跟业务耦合比较大。所以阅读陈硕的muduo网络库. namespace muduo::net::sockets typedef struct sockaddr SA; // 将一个地址和一个端口号绑定到一个socket连 阅读全文