45、Socket内核数据结构:如何成立特大项目合作部?上一节我们讲了Socket在TCP和UDP场景下的调用流程。这一节,我们就沿着这个流程到内核里面一探究竟,看看在内核里面,都创建了哪些数据结构,做了哪些事情。 解析socket函数我们从Socket系统调用开始。 123456789101112131...2025-10-31
44、Socket通信:遇上特大项目,要学会和其他公司合作上一篇预习文章说了这么多,现在我们终于可以来看一下,在应用层,我们应该如何使用socket的接口来进行通信。 如果你对socket相关的网络协议原理不是非常了解,建议你先去看一看上一篇的预习文章,再来看这一篇的内容,就会比较轻松。 按照前一篇文章说的...2025-10-31
43、预习:Socket通信之网络协议基本原理上一节我们讲的进程间通信,其实是通过内核的数据结构完成的,主要用于在一台Linux上两个进程之间的通信。但是,一旦超出一台机器的范畴,我们就需要一种跨机器的通信机制。 一台机器将自己想要表达的内容,按照某种约定好的格式发送出去,当另外一台机器收到这些...2025-10-31
42、IPC(下):不同项目组之间抢资源,如何协调?IPC这块的内容比较多,为了让你能够更好地理解,我分成了三节来讲。前面我们解析完了共享内存的内核机制后,今天我们来看最后一部分,信号量的内核机制。 首先,我们需要创建一个信号量,调用的是系统调用semget。代码如下: 123456789101112...2025-10-31
41、IPC(中):不同项目组之间抢资源,如何协调?了解了如何使用共享内存和信号量集合之后,今天我们来解析一下,内核里面都做了什么。 不知道你有没有注意到,咱们讲消息队列、共享内存、信号量的机制的时候,我们其实能够从中看到一些统一的规律:它们在使用之前都要生成key,然后通过key得到唯一的id,并且...2025-10-31