Java Client Example

import javax.websocket.*;
import java.net.URI;
import com.google.gson.Gson;
import java.util.Map;

@ClientEndpoint
public class ChatClient {
    private static final Gson gson = new Gson();
    private static Session session;
    private static final String URL = "wss://chat-proxy.bitseek.ai/v2/chat?apikey=ETHSH2025&serverType=1";

    @OnOpen
    public void onOpen(Session s) {
        session = s;
        System.out.println("✅ Connected");
        sendPing();
        sendMessage("Hello, please tell me about large language models");
    }

    @OnMessage
    public void onMessage(String message) {
        var msg = gson.fromJson(message, Map.class);
        if ("message".equals(msg.get("event"))) {
            var data = (Map) msg.get("data");
            System.out.print(data.get("output"));
            if ((Boolean) data.get("stop")) System.out.println("\n--- Stream End ---");
        } else if ("error".equals(msg.get("event"))) {
            System.err.println("❌ Error: " + ((Map)msg.get("data")).get("error"));
        }
    }

    @OnClose
    public void onClose(Session s, CloseReason reason) {
        System.out.println("⚠️ Connection closed: " + reason);
        attemptReconnect();
    }

    @OnError
    public void onError(Session s, Throwable t) {
        System.err.println("❌ WebSocket error: " + t.getMessage());
        try { session.close(); } catch (Exception e) {}
    }

    private void sendPing() {
        session.getAsyncRemote().sendText(gson.toJson(Map.of("event","ping")));
    }

    private void sendMessage(String prompt) {
        session.getAsyncRemote().sendText(
            gson.toJson(Map.of("event","message","data",Map.of("prompt",prompt)))
        );
    }

    private void attemptReconnect() {
        System.out.println("🔄 Attempting reconnect in 3s...");
        try { Thread.sleep(3000); } catch (InterruptedException ignored) {}
        connect();
    }

    public static void connect() {
        try {
            WebSocketContainer container = ContainerProvider.getWebSocketContainer();
            container.connectToServer(ChatClient.class, new URI(URL));
        } catch (Exception e) {
            System.err.println("❌ Reconnect failed: " + e.getMessage());
            try { Thread.sleep(3000); } catch (InterruptedException ignored) {}
            connect();
        }
    }

    public static void main(String[] args) { connect(); }
}

results matching ""

    No results matching ""