类 OkHttpWebSocketTransport

java.lang.Object
io.agentscope.core.model.transport.websocket.OkHttpWebSocketTransport
所有已实现的接口:
WebSocketTransport

public class OkHttpWebSocketTransport extends Object implements WebSocketTransport
WebSocket client implementation based on OkHttp.

Features:

  • Mature and stable HTTP client library
  • Built-in ping/pong heartbeat (pingInterval)
  • Better connection pool management
  • Client instance is reusable

Usage example:


 WebSocketTransport client = OkHttpWebSocketTransport.create();

 WebSocketRequest request = WebSocketRequest.builder("wss://api.example.com/ws")
     .header("Authorization", "Bearer token")
     .build();

 client.connect(request, String.class)
     .flatMapMany(conn -> {
         conn.send("{\"type\":\"config\"}").subscribe();
         return conn.receive();
     })
     .subscribe(data -> handle(data));
 
  • 方法详细资料

    • create

      public static OkHttpWebSocketTransport create()
      Create a client with default configuration.
      返回:
      OkHttpWebSocketTransport instance
    • create

      public static OkHttpWebSocketTransport create(okhttp3.OkHttpClient client)
      Create a client with custom OkHttpClient.
      参数:
      client - Custom OkHttpClient instance
      返回:
      OkHttpWebSocketTransport instance
    • create

      public static OkHttpWebSocketTransport create(WebSocketTransportConfig config)
      Create a client with custom configuration.

      This method supports proxy configuration and other advanced settings.

      参数:
      config - the WebSocket client configuration
      返回:
      OkHttpWebSocketTransport instance
    • connect

      public <T> reactor.core.publisher.Mono<WebSocketConnection<T>> connect(WebSocketRequest request, Class<T> messageType)
      从接口复制的说明: WebSocketTransport
      Establish a WebSocket connection.
      指定者:
      connect 在接口中 WebSocketTransport
      类型参数:
      T - Message type: String for text protocol, byte[] for binary protocol
      参数:
      request - Connection request configuration
      messageType - Class object for message type (String.class or byte[].class)
      返回:
      Mono that emits WebSocketConnection on successful connection
    • shutdown

      public void shutdown()
      从接口复制的说明: WebSocketTransport
      Shutdown the client and release resources.

      After shutdown, this client should not be used anymore.

      指定者:
      shutdown 在接口中 WebSocketTransport