随笔分类 -  网络通信

一些关于网络通信的小问题
摘要:5.6 互斥锁和条件变量的封装 类图 该类是封装了互斥锁的一些基本操作,包括互斥锁的初始化、销毁、上锁、解锁等功能。但是实际上使用RAII技术又封装了一个类,那就是MutexLockGuard。这主要也是采取了类似智能指针的封装思路,让互斥锁的生命周期交给操作系统去管理,释放的时机由操作系统管理,防 阅读全文
posted @ 2024-11-10 13:23 炫炫子 阅读(22) 评论(0) 推荐(0)
摘要:5.3 At0mic源码剖析 为什么需要原子性操作:在多线程环境下,一次简单的加法操作:先从内存读取数据到寄存器,然后进行加法,最后再把数据写回内存。这是由于多线程环境下,在寄存器上的加法到写回内存这个动作不是当成一个动作执行的,而是被划分了为三个动作,导致问题。 解决方案:第一个就是上锁(lock 阅读全文
posted @ 2024-11-08 10:28 炫炫子 阅读(36) 评论(0) 推荐(0)
摘要:1. 并发服务器介绍 一个简单的C/S架构如下图: 服务器瓶颈: 瓶颈1:超出数据库最大连接数:比如服务器最大并发是10,但是此时来了1000个连接请求。由于会导致990个连接请求失效。 解决:引入一个DAL队列服务(消息队列+连接池)。这样子下一次连接就不需要重新创建和数据库的连接,而是在连接池种 阅读全文
posted @ 2024-11-07 11:52 炫炫子 阅读(55) 评论(0) 推荐(0)
摘要:1. 网络层次 1.1具体层次以及封装 封装的协议结构一般是协议头+数据。 2. 网络通信存在问题 2.1 设计协议时,边界问题如何处理 场景以及问题:在TCP流式传输中,流式传输也就是一端只关心向管道发送数据,另外一边只要管道存在数据就接收数据。一个客户端发送N个100字节的消息,此时服务器接收数 阅读全文
posted @ 2024-10-22 17:05 炫炫子 阅读(224) 评论(0) 推荐(0)