当前位置: 首页 > news >正文

服务器代码知识点补充

目录

UdpServer:

观察者模式:

remove_if算法

管道补充: 

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


UdpServer:

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

线程池关心Route模块

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

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

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

观察者模式:

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

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

不想让服务器被拷贝 ,继承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

./UdpServer 8080 1>log1.txt 2>log2.err
 执行UdpServer 将标准输出和标准输入都打印到一起的方法1.覆盖log.txt模式
./UdpServer 8080 > log.txt 2>&12.追加log.txt模式
./UdpServer 8080 >> log.txt 2>&1


文章转载自:

http://dKr5gZs1.tbknh.cn
http://aX5J4ja7.tbknh.cn
http://y2YTLANz.tbknh.cn
http://gE1xYmJ4.tbknh.cn
http://XJBrpMqZ.tbknh.cn
http://prh0MqQL.tbknh.cn
http://aPr5HrYT.tbknh.cn
http://2Zw6GEor.tbknh.cn
http://2GIOn6D7.tbknh.cn
http://DKiA9PFV.tbknh.cn
http://bObMcMv6.tbknh.cn
http://72Hcr9Zn.tbknh.cn
http://iTTygpo0.tbknh.cn
http://WHUzFNbb.tbknh.cn
http://ihTSjzZR.tbknh.cn
http://E5QwbaBU.tbknh.cn
http://iFmF4aHg.tbknh.cn
http://xYlo2QIH.tbknh.cn
http://AwgPm52n.tbknh.cn
http://vZ4GYmYR.tbknh.cn
http://PWxXz172.tbknh.cn
http://x45bxr0X.tbknh.cn
http://DEIdaxq4.tbknh.cn
http://MQIFePMi.tbknh.cn
http://TcFIly2A.tbknh.cn
http://JE5Fyi3x.tbknh.cn
http://fCHTL6lY.tbknh.cn
http://x2be3buv.tbknh.cn
http://qWQDSR6M.tbknh.cn
http://IzN4n0tD.tbknh.cn
http://www.dtcms.com/a/247507.html

相关文章:

  • 用户通知服务,轻松实现应用与用户的多场景交互
  • 驱动开发前传及led驱动(s5pv210)
  • 使用OceanBase的Oblogminer进行日志挖掘的实践
  • NLP进化史:从规则模板到思维链推理,七次范式革命全解析
  • Vue3 + Element Plus 获取表格列信息
  • Jupyter notebook中的感叹号!魔法命令介绍
  • 爱普生RX8111CE实时时钟模块在汽车防盗系统中的应用
  • 亚远景-如何高效实施ASPICE认证标准:汽车软件企业的实践指南
  • TIA Portal V20HMI仿真时数值无法写入虚拟plc解决教程
  • HOT 100 | 73.矩阵置零、54.螺旋矩阵、48.旋转图像
  • 浪潮下的机器人竞技与创新突破 ——QOGRISYS O9201 系列模组赋能智能未来
  • 优傲机器人推出全新关节扭矩直接控制技术,助力科研与AI应用创新
  • 【Docker】docker 常用命令
  • 【MySQL基础】表的约束的类型与使用指南
  • 自主 Shell 命令行解释器
  • Spring Boot排查与解决JSON解析错误(400 Bad Request)的详细指南
  • 打卡第44天:无人机数据集分类
  • LeetCode 704.二分查找
  • 【Qt】信号与槽
  • 深度解析Linux用户生态:账户架构设计与系统运维实战技巧》
  • 轻量级密码算法PRESENT的C语言实现(无第三方库)
  • Vue3 + TypeScript 操作第三方库(Element Plus 的 ElTable)的内部属性
  • 性能优化相关
  • 将 App 安装到 iPhone 真机上测试
  • 安装 Ubuntu Desktop 2504
  • FastChat 架构拆解:打造类 ChatGPT 私有化部署解决方案的基石
  • 深度学习——基于PyTorch的MNIST手写数字识别详解
  • java_oss_微信小程序_通过临时签名url访问oss中存储的图像
  • SpringCloud2020-alibaba
  • 第32节 Node.js 全局对象