服务器代码知识点补充

目录

UdpServer:

观察者模式:

remove_if算法

管道补充:

[文件的标准输出 ,标准输入,标准错误](#文件的标准输出 ,标准输入,标准错误)


UdpServer:

数据接收模块关心Adduser 和Deleuser 两个模块

线程池关心Route模块

将这三个方法注册进服务器 ,但是有临界区问题(线程池与数据接受模块可能同时访问用户管理模块,所以要加锁)

在线程池中 ,传递的任务既可以是自定义的类 ,也可以是设置进来的一个一个的函数对象

将Route注册进UdpServer中后 ,在UdpServer中绑定参数形成任务 ,加到线程池中.

观察者模式:

观察者模式(Observer Pattern)是一种行为设计模式,它定义了对象之间的一对多依赖关系,当一个对象状态发生改变时,所有依赖它的对象(称为"观察者")都会自动收到通知并更新。

观察者模式: 每一个用户都相当于一个观察者 ,作为一个观察者 ,将自己加入到在线用户列表中 ,当某件事发生后 ,需要通知所有观察者.

cpp 复制代码
不想让服务器被拷贝 ,继承nocopy即可
class nocopy
{
public:
nocopy(){}
nocopy(const nocopy &) = delete;
const nocopy& operator = (const nocopy &) = delete;
~nocopy(){}
};

class UdpServer : public nocopy
{

};

remove_if算法

管道补充:

当管道读写两端同时打开时 ,才会继续向后运行 ,否则会发生阻塞.

文件的标准输出 ,标准输入,标准错误

文件描述符 0 1 2 代表标准输入 标准输出 标准错误

其中标准输出标准错误都是在显示器中显示

既然都在显示器中打印 , 为什么会有标准输出标准错误两种呢?

答: 可以通过重定向 让标准输出 和标准错误分别打印到不同地方,方便DEBUG

cpp 复制代码
./UdpServer 8080 1>log1.txt 2>log2.err
cpp 复制代码
 执行UdpServer 将标准输出和标准输入都打印到一起的方法

1.覆盖log.txt模式
./UdpServer 8080 > log.txt 2>&1

2.追加log.txt模式
./UdpServer 8080 >> log.txt 2>&1
相关推荐
raindayinrain1 分钟前
理解网络--Tcp性能优化
网络·tcp/ip·性能优化
16月6日-晴8 分钟前
Java面向对象——接口
java·开发语言
啊阿狸不会拉杆14 分钟前
《计算机网络-自顶向下方法》4.4 泛化转发和SDN 读书笔记
网络·计算机网络·智能路由器
wuyk55523 分钟前
107.FreeRTOS 链表深度解析:从原理到面试满分答案
c语言·开发语言·数据结构·stm32·单片机·链表·面试
geovindu23 分钟前
CSharp: Wordcloud
开发语言·后端·c#·.net·.netcore·词云
其实防守也摸鱼24 分钟前
教育信息技术应用创新---基础软件信息赛
运维·服务器·数据库·github·copilot
yonlingxu29 分钟前
创客匠人深度陪跑案例:盘活存量 IP,解锁婚恋知识赛道第二增长曲线
网络·网络协议·tcp/ip
苏生Susheng33 分钟前
【软件实施】Windows 服务器运维实战
java·运维·服务器·windows·spring boot·javaweb·实施
且白35 分钟前
node、npm通过http-server架设本地服务器(可解决跨域)
服务器·网络协议·http
Java小白笔记39 分钟前
Java 实现 ZIP 压缩包生成方案
java·开发语言·网络·7-zip