Socket 编程

通信

访问次数: 17

基于 Socket API 的进程间通信:数据包/流式套接字、客户-服务器范型、面向连接与无连接、迭代/并发以及有状态/无状态服务器。

视频教程
类图
sequenceDiagram
    participant C as Client
    participant LS as ListenSocket
    participant DS as DataSocket
    C->>LS: connect
    LS->>DS: accept 创建数据套接字
    C->>DS: request
    DS-->>C: response
源代码示例
// 流式 Socket 服务端要点
ServerSocket ss = new ServerSocket(13);
Socket s = ss.accept();
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
out.write(new java.util.Date().toString()); out.newLine(); out.flush();
s.close();
import socket
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as ss:
    ss.bind(('0.0.0.0', 13)); ss.listen(1)
    conn, _ = ss.accept()
    with conn:
        conn.sendall(b'hello\n')
应用场景
在主机间实现可靠或数据报通信,并按协议完成请求-应答式网络服务。