01 2022 档案

摘要:一、Socket网络封装 1、CHostAddress类 地址类 包括获取端口号和sockaddr_in 结构体(通信协议,端口,IP地址) CHostAddress.h 代码实现: #pragma once#include <sys/types.h> /* See NOTES */#include 阅读全文
posted @ 2022-01-20 16:23 代码改变世界11 阅读(135) 评论(0) 推荐(0) 编辑
摘要:一、概念说明 进程切换 为了控制进程的执行,内核必须有能力挂起正在CPU上运行的进程,并恢复以前挂起的某个进程的执行。这种行为被称为进程切换。因此可以说,任何进程都是在操作系统内核的支持下运行的,是与内核紧密相关的。 从一个进程的运行转到另一个进程上运行,这个过程中经过下面这些变化:1. 保存处理机 阅读全文
posted @ 2022-01-16 23:04 代码改变世界11 阅读(186) 评论(0) 推荐(0) 编辑
摘要:1、复习socket网络连接 服务器:socket(),bind(),listen(),accept(), 客户端:socket(),connect(), 2、聊天流程 客户端1和客户端2之间聊天,只用进程的话,服务器只能把客户端1发的信息再发送给客户端1,不能实现客户端1和客户端2之间聊天 关键: 阅读全文
posted @ 2022-01-12 22:57 代码改变世界11 阅读(48) 评论(0) 推荐(0) 编辑
摘要:1.如何判断一段程序是由C 编译程序还是由C++编译程序编译的? 【标准答案】 #ifdef __cplusplus cout<<“c++"; #else cout<<"c"; #endif 2. C和C++有什么不同? 【参考答案】 从机制上: c是面向过程的(但c也可以编写面向对象的程序); c 阅读全文
posted @ 2022-01-09 23:13 代码改变世界11 阅读(1203) 评论(0) 推荐(0) 编辑
摘要:如果项目组之间需要紧密合作,那就需要共享内存,这样就像把两个项目组放在一个会议室一起沟通,会非常高效 有了共享内存机制之后,两个进程就可以像访问自己内存中的变量一样,访问共享内存的变量。但是同时问题也来了,当两个进程共享内存了,就会存在同时读写问题,这就需要对共享内存进行保护,这需要信号量这样的同步 阅读全文
posted @ 2022-01-07 22:09 代码改变世界11 阅读(327) 评论(0) 推荐(0) 编辑
摘要:1 使用非法的内存地址(指针),包括使用未经初始化及已经释放的指针、不存在的地址、受系统保护的地址,只读的地址等,这一类也是最常见和最好解决的段错误问题,使用GDB print一下即可知道原因。 2 内存读/写越界。包括数组访问越界,或在使用一些写内存的函数时,长度指定不正确或者这些函数本身不能指定 阅读全文
posted @ 2022-01-07 17:44 代码改变世界11 阅读(1104) 评论(0) 推荐(0) 编辑
摘要:使用IPC通信中的信号量 实现进程锁 1、为什么需要进程锁? 答:前置服务器和后置服务器两个进程之间,同时运行,一起争抢CPU的资源。 1.1CPU资源分配机制:时间片轮转。进程争抢CPU资源,但是抢到后可执行的时间没有规定(可能只执行了1秒,CPU资源又被别的进程抢走),同一个进程争抢CPU资源的 阅读全文
posted @ 2022-01-06 23:09 代码改变世界11 阅读(274) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示