WebSocketConnection
public interface WebSocketConnection<T>
io/agentscope/core/model/transport/websocket/WebSocketConnection.java:81–151WebSocket 连接。位于 io.agentscope.core.model.transport.websocket 包。核心成员包括 send、receive、close、isOpen、getCloseInfo。
WebSocket connection interface.
Represents an active WebSocket connection with send/receive capabilities. Uses generic type parameter to support different message formats:
-
WebSocketConnection<String>- Text protocol (JSON over WebSocket) -
WebSocketConnection<byte[]>- Binary protocol
Error handling: All methods return Mono/Flux that propagate errors through Reactor's error
channel. Errors are wrapped in WebSocketTransportException with connection context.
Logging: Implementations should log at appropriate levels:
-
INFO: Connection established/closed
-
DEBUG: Message send/receive operations
-
TRACE: Detailed message content (size, preview)
-
ERROR: Connection errors, send/receive failures
Usage example (text protocol):
`WebSocketTransport client = JdkWebSocketTransport.create();
client.connect(request, String.class)
.flatMapMany(connection -> {
// Send JSON message
connection.send("{\"type\":\"config\"}").subscribe();
// Receive JSON messages
return connection.receive();
})
.subscribe(
json -> handleMessage(json),
error -> handleError(error) // WebSocketTransportException with context
);
`
Usage example (binary protocol):
`client.connect(request, byte[].class)
.flatMapMany(connection -> {
// Send binary message
connection.send(binaryData).subscribe();
// Receive binary messages
return connection.receive();
})
.subscribe(
data -> handleBinaryMessage(data),
error -> handleError(error)
);
`
方法摘要Method Summary
| 方法Method | 说明Description |
|---|---|
public Mono<Void> send(T data) | 设置发送。 Send a message. |
public Flux<T> receive() | 返回接收。 Receive message stream. |
public Mono<Void> close() | 关闭连接并释放相关资源。 Close the connection. |
public boolean isOpen() | 检查if 连接是打开。 Check if connection is open. |
public CloseInfo getCloseInfo() | 获取关闭信息。 Get close information (if closed). |
方法详情Method Detail
send
public Mono<Void> send(T data)
设置发送。
Send a message.
| 名称Name | 类型Type | 说明Description |
|---|---|---|
data | T | 数据(类型 `T`)。Message data (String or byte[]) |
Mono<Void>io/agentscope/core/model/transport/websocket/WebSocketConnection.java:98receive
public Flux<T> receive()
返回接收。
Receive message stream.
Flux<T>io/agentscope/core/model/transport/websocket/WebSocketConnection.java:121close
public Mono<Void> close()
关闭连接并释放相关资源。
Close the connection.
Mono<Void>io/agentscope/core/model/transport/websocket/WebSocketConnection.java:136isOpen
public boolean isOpen()
检查if 连接是打开。
Check if connection is open.
booleanio/agentscope/core/model/transport/websocket/WebSocketConnection.java:143getCloseInfo
public CloseInfo getCloseInfo()
获取关闭信息。
Get close information (if closed).
CloseInfoio/agentscope/core/model/transport/websocket/WebSocketConnection.java:150