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')
应用场景
在主机间实现可靠或数据报通信,并按协议完成请求-应答式网络服务。