Socket 与客户服务器 考试重点
系统结构
Socket API、流式/数据报、C/S 会话与有状态/无状态服务器设计。
结构示意
sequenceDiagram
Client->>Server: connect/accept
Client->>Server: request
Server-->>Client: response
知识说明
客户与服务器按协议请求-应答;流式套接字适合可靠会话,并发服务器常用多线程。
特点
- 面向连接/无连接
- 迭代与并发服务器
优点
- 网络服务基础抽象
- 易对照实验实现
局限
- 需自行处理协议与错误
适用
Daytime 等 Internet 协议 RPC 底层传输
例子展示 —— 流式 Socket C/S 示例
问题
实现面向连接的 daytime 风格服务。
做法
监听套接字 accept 后创建数据套接字读写字节流。
sequenceDiagram
Client->>Server: connect/accept
Client->>Server: request
Server-->>Client: response
ServerSocket ss = new ServerSocket(port);
Socket s = ss.accept(); // read/write streams
ss = socket.socket(); ss.bind(); ss.listen()
conn, addr = ss.accept()