基于C++11的muduo网络库
文章平均质量分 97
shenmingik
于现在,对话未来
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
muduo网络库——noncopyable.h
从这里开始就是剖析muduo网络库项目了。出发!!!!noncopy.h这个头文件时其他类的基类。//pragma是编译器级别和语言级别#ifndef一样#pragma onceclass noncopyable{public: noncopyable(const noncopyable&) = delete; noncopyable& operator=(const noncopyable&) = delete;protected: n原创 2020-08-02 11:29:26 · 423 阅读 · 0 评论 -
muduo网络库——日志
日志在网络设备、系统及服务程序等运作时都会产生一个叫log的事件记录;每一行日志都记载着相关信息。muduo网络库也不例外。日志级别日志一般有5个正常级别:WARN 警告信息表明潜在错误。INFO打印重要流程信息ERROR错误,不影响软件正常进行FATAL影响程序执行DEBUG 调试信息另外,还有两个可用的特别的日志记录级别:ALL 是最低等级的,用于打开所有的日志记录OFF 是最高等级的,用于关闭所有日志记录在本项目中,仅用INFO、ERROR、FATAL、DEBUG四个原创 2020-08-02 12:07:54 · 535 阅读 · 0 评论 -
muduo网络库——Timestamp
这个类主要是获取当前时间,以及把当前时间转换为字符串打印出来。Timestamp.h#pragma once#include <iostream>class Timestamp{public: Timestamp(); explicit Timestamp(int64_t microSecondsSinceEpoch); //获取当前时间 static Timestamp now(); //int64 转换为字符串 std::str原创 2020-08-02 12:24:45 · 368 阅读 · 0 评论 -
muduo网路库——InetAddress
这个类的主要作用就是封装socket。由于博主是在windows平台下,所以用的头文件时windows.h和Ws2tcpip.h。linux平台下应该用sys/socket.h、netinet/in.h和arpa/inet.h。InetAddress.h#pragma once/* linux下* #include<arpa/inet.h> //for sockaddr* #include <netinet/in.h>*/#include <string原创 2020-08-02 12:39:18 · 606 阅读 · 0 评论 -
第三方库——muduo网络库的使用
muduo网络库介绍我觉得我的介绍肯定是没有陈硕大神介绍的完整,所以我这里直接贴上陈硕的原文链接:muduo网络库在这里,我将只讨论muduo的使用,后续源码剖析可以关注专栏:muduo网络库使用muduo进行server端编程在muduo中有两个比较主要的类:TcpServer和TcpClient。TcpServer:服务器编写TcpClient:客户端编写在这里我目前将只介绍服务器端的编写流程:/** 1.组合tcpserver对象* 2.创建eventloop事件循环对象的指针原创 2020-10-09 22:33:54 · 1041 阅读 · 0 评论 -
IO 阻塞与非阻塞 同步与异步
网络IO模型IO是个我们很熟悉的操作,在操作系统的角度来讲,IO一般就是对磁盘文件的访问。但是站在网络的角度上说:网络IO的本质是对socket的读取。网络IO一般分为两阶段:数据准备和数据读写。数据准备:根据系统IO操作的就绪状态分为阻塞和非阻塞数据读写:根据应用程序和内核的交换方式分为同步和异步陈硕大神:在处理IO的时候,阻塞与非阻塞都是同步IO。只有使用了特殊API才是异步IO阻塞和非阻塞下面看一段代码,我根据代码来解释阻塞和非阻塞:int main(){ ... cha原创 2020-07-14 16:44:35 · 293 阅读 · 0 评论 -
基于C++11的muduo网络库
文章目录作者:shenmingik邮箱:2107810343@qq.com时间:2021/1/26 22:17开发环境:Ubuntu VS Code编译器:g++编程语言:C++源码连接:https://share.weiyun.com/PTtAqitJ原创 2021-02-15 13:44:50 · 2498 阅读 · 3 评论
分享