进程间通信:套接字与消息队列详解
1. 套接字基础
套接字设计为双向通信,仅需一个套接字就能在两个进程间提供全双工通信路径。在客户端/服务器应用中,套接字的使用十分常见,通常会用到更通用的 socket 系统调用。与 socketpair 不同, socket 返回单个文件描述符,而 socketpair 返回一对文件描述符,且 socketpair 只能在父子进程间使用。
在使用 socket 函数前,还需了解一些其他函数。以下是基本客户端和服务器的流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B(创建套接字):::process
B --> C{是否为服务器}:::decision
C -- 是 --> D(绑定地址):::process
D --> E(监听连接):::process
E --> F(接受连接):::process
超级会员免费看
订阅专栏 解锁全文
766

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



