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()