3.4 ~ 3.7: IPC
See OS: Process: IPC.
3.8: Communication in Client-Server Systems
Socket
对于两台机器之间的通信,前人们抽象出了一套概念:socket。
一个 socket 可以认为是一个 (ip, port)
对。一对 socket 定义了一个通信:
Socket 有几种主流类型:
- 面向连接的(connection-oriented),即 TCP
- 无连接的(connectionless),即 UDP
C 语言的 socket 函数是最底层的接口。Java 等高级语言在此基础上封装了更易用的 socket 接口。
RPC
即在客户端远程调用服务端上的某函数。客户端发的包中,包含了要调用的服务端口、具体的服务名等(比如 HTTP API 中的路径)。