Linux 进程间通信与网络编程基础
1. 进程间通信概述
在构建分布式应用时,进程间通信(IPC)是一项关键技术。Linux 为构建分布式应用提供了强大的平台,全球互联网(WWW)可被视为终极的分布式应用,且运行在 Linux 上的 Web 服务器数量超过其他任何操作系统。即便构建在单台计算机上运行的应用,使用 IPC 将程序拆分为多个模块,并在 IPC 边界定义清晰的接口,通常也是很有意义的。
常见的 IPC 方法包括:
- 消息队列
- 共享内存
- 信号量
- TCP 套接字编程
- UDP 套接字编程
- 组播 IP
- 非阻塞套接字 I/O
- 用于 IPC 的 C++ 类库
相关的程序示例存放在 CD - ROM 的 IPC 目录下,包含以下子目录:
- C++
- MULTICAST
- PIPES
- SHARED
- UDP
- MESSAGEQ
- NOBLOCK
- SEMAPHORES
- SOCKETS
建议将 IPC 目录下的整个目录树复制到本地磁盘的一个方便的工作目录中。
2. 管道的使用介绍
管道是一种单向通信通道,通过套接字描述符进行访问。对管道的操作类似于对本地文件的操作。下面将通过示例介绍无名管道和命名管道。
2.1 无名管道
无名管道通常用于父进程与子进程(或派生进程)之间的通信。当 Linux 程序使用 pipe 库调用创建两个文件描
超级会员免费看
订阅专栏 解锁全文
1536

被折叠的 条评论
为什么被折叠?



