TCP客户端服务器代码 此TCP服务器客户端使用 使用了线程池 解决了粘包问题 使用了任务类 使用了方法类 TCPcode 服务器server.cc 1234567891011121314#include"server.hpp"int main(int argc,char* argv[]){ if(argc!=2) { cout<<&q 2022-06-18 网络编程 #tcp/ip 服务器 c++
粘包问题 TCP是一个面向连接的,可靠的,安全的流式协议 什么是粘包粘包是指的是数据和数据之间没有没有明确的分界线,导致不能够正确的传输数据(只有TCP会粘包 UDP 永远不会粘包),粘包问题只针对于一切字节流的协议 TCP也可以称为流式协议,UDP称为数据报式协议 对于流式协议:发送端可以1K1K的发送数据,接收端可以2k2k的提取数据,也可以3K4K的提取数据,所以对于接收端应用程序中看到的数据就是 2022-06-18 网络编程 #udp 网络 tcp/ip
TCP基础(1) 文章目录 TCP和UDP 为什么要有TCP/IP 协议 TCP(传输控制协议) TCP 报文格式 确认应答机制 缓冲区 TCP和UDP协议发生在传输层传输层主要处理:端到端的连接 TCP和UDP UDP 是一个人面向 无连接的,可类比成写信,UDP发送写信到邮箱之后,对方不能够立即就可以收到,先后发送的信件也不一定是按照顺序接收,甚至里面信的内容有可能也不会完整 TCP 2022-06-13 网络编程 #udp tcp/ip 网络协议
读者写者模型 文章目录 读者写者模型 生产消费vs读者写者 根本原因:读者不会取走资源,而消费者会拿走数据 接口 自旋锁 🤔水文🤢 读者写者模型 对数据,大部分的操作是读取,少量的操作是写入 判断依据就是进行数据读取(消费的一段),是否会将数据取走,如果不去走就可以考虑读者写者模型 出黑板报,一个人在写,多个人在读写者和写者:竞争互斥关系读者和写者:互斥关系(要保证写完我才能来读,避免没有写 2022-06-05 Linux #linux
C++11(1) 文章目录 统一的列表初始化 initializer_list 声明 auto decltype nullptr 统一的列表初始化12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667struc 2022-06-04 c++ #c++ 开发语言
生产者消费者模型----基于互斥与同步 我们的生产者和消费者,传输数据只是第一步 数据怎么来的,耗时吗 数据怎么处理,耗时吗 我们还需要对获得的数据添加一个场景 即对他就行任务处理 如生产者放进去了一个任务(x,y±* /)消费者拿到了这个任务,就要对这些任务进行处理 BlockQueue.hpp 1234567891011121314151617181920212223242526272829303132333435 2022-06-03 c++ #开发语言
单例模式 单例模式单例模式就是一种“经典的,常用的,常考的” 设计模式 什么是设计模式大佬对于一些常见的场景,给定了一个特定对应的解决方案,这个就是设计模式,这个是可以被推广使用的 单例模式的特定某些类,只应该需要又一个对象(实例),就称为单例 例如:一个男人只能取一个老婆 类 对象 threadpool tp 定义一个对象:开辟空间+给空间写入初始值(本质上就是将对象加载到内存里面) 只让该对象在内 2022-06-03 Linux #单例模式
线程池 文章目录 原理 实现 Task.hpp threadpool.hpp main.cc 原理 如我们每次动态开辟一个变量空间的时候,都会有效率的损失,如果有一个内存池,需要的化直接在里面取就行了,这就大大的提高了效率 当我们创建任务的时候再去申请线程,就相当于我们需要malloc的时候再去申请空间,创建线程也是有成本的, 请求来了,线程要提前准备好,任务来了,就指派给他提前准备好的线程, 2022-06-03 Linux #系统编程 c++ visual studio 开发语言
网络基础背景入门 文章目录 计算机网络背景 网络发展 网络在哪里 认识“协议” 协议分层 OSI七层模型与TCP/IP四层模型 我们从实际角度上介绍一下TCP/IP模型每一层都做些什么 局域网 报头 跨网络 令牌环 mac地址 网络中的地址管理 认识IP地址 认识MAC地址 理解 计算机网络背景网络发展现有计算机再有OS,原来没有OS之前使用计算机的成本是很高的,只有科学 2022-05-25 Linux #网络编程 网络 网络协议
c++多态 文章目录 引言 动态的多态 举个例子: 买票这个行为,对于不同的人价格不同,普通人去买价格低,而有钱人买价格高 虚函数 析构函数的重写(析构函数) C++11 override 和final final override 重载,覆盖,隐藏的对比 抽象类 底层剖析 多继承中的虚表 打印虚表 多态感觉真挺难的,这篇就水一水了 引言多态:多种形态静态的多态:函数重载,同一个函数看起来调 2022-05-18 c++ #c++ 开发语言