15、Linux 进程间通信与网络编程基础

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 库调用创建两个文件描

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值