WebSocketTransport
public interface WebSocketTransport
源码Source
io/agentscope/core/model/transport/WebSocketTransport.java:77–95WebSocket 客户端。位于 io.agentscope.core.model.transport 包。核心成员包括 connect、shutdown。
WebSocket client interface.
Similar to HTTPClient design:
-
Client instance is stateless and reusable
-
Each connect() creates a new connection
-
Connection configuration is passed via WebSocketRequest
-
Supports generic type parameter for message format (String or byte[])
Implementations:
-
JdkWebSocketTransport- Based on JDK 11+ HttpClient -
OkHttpWebSocketTransport- Based on OkHttp
Usage example (text protocol):
`// Create client (reusable)
WebSocketTransport client = JdkWebSocketTransport.create();
// Create connection request
WebSocketRequest request = WebSocketRequest.builder("wss://api.openai.com/v1/realtime")
.header("Authorization", "Bearer " + apiKey)
.build();
// Establish connection (specify String type)
client.connect(request, String.class)
.flatMapMany(connection -> {
// Send JSON configuration
connection.send(sessionConfig).subscribe();
// Receive JSON messages
return connection.receive();
})
.subscribe(json -> handleMessage(json));
`
Usage example (binary protocol):
`// Establish connection (specify byte[] type)
client.connect(request, byte[].class)
.flatMapMany(connection -> {
// Send binary data
connection.send(binaryFrame).subscribe();
// Receive binary data
return connection.receive();
})
.subscribe(data -> handleBinaryMessage(data));
`
方法摘要Method Summary
| 方法Method | 说明Description |
|---|---|
public T Mono<WebSocketConnection<T>> connect(WebSocketRequest request, Class<T> messageType) | 建立连接并完成初始化。 Establish a WebSocket connection. |
public void shutdown() | 关闭资源并释放连接。 Shutdown the client and release resources. |
方法详情Method Detail
connect
public T Mono<WebSocketConnection<T>> connect(WebSocketRequest request, Class<T> messageType)
建立连接并完成初始化。
Establish a WebSocket connection.
参数Parameters
| 名称Name | 类型Type | 说明Description |
|---|---|---|
request | WebSocketRequest | 请求(类型 `WebSocketRequest`)。Connection request configuration |
messageType | Class<T> | 消息类型(类型 `Class`)。Class object for message type (String.class or byte[].class) |
Mono<WebSocketConnection<T>>返回Mono>。Mono that emits WebSocketConnection on successful connection
源码Source
io/agentscope/core/model/transport/WebSocketTransport.java:87shutdown
public void shutdown()
关闭资源并释放连接。
Shutdown the client and release resources.
源码Source
io/agentscope/core/model/transport/WebSocketTransport.java:94