WeberknechtJavaライブラリを介してWebSocketに接続しようとしています。Javaクライアントが接続を作成しようとすると、次のエラーメッセージが表示されます。
W/System.err(805): java.lang.ArrayIndexOutOfBoundsException: length=1000; index=1000
W/System.err(805): at ...WebSocketConnection.connect(WebSocketConnection.java:86)
問題の原因となる部分は次のとおりです。
public void connect() throws WebSocketException {
    try {
        if (connected) {
            throw new WebSocketException("already connected");
        }
        socket = createSocket();
        input = new DataInputStream(socket.getInputStream());
        output = new PrintStream(socket.getOutputStream());
        output.write(handshake.getHandshake());
        boolean handshakeComplete = false;
        int len = 10000;
        byte[] buffer = new byte[len];
        int pos = 0;
        ArrayList<String> handshakeLines = new ArrayList<String>();
        while (!handshakeComplete) {
            int b = input.read();
            buffer[pos] = (byte) b; // THIS LINE CAUSES THE EXCEPTION
            pos += 1;
            if (buffer[pos - 1] == 0x0A && buffer[pos - 2] == 0x0D) {
                String line = new String(buffer, "UTF-8");
                if (line.trim().equals("")) {
                    handshakeComplete = true;
                } else {
                    handshakeLines.add(line.trim());
                }
                buffer = new byte[len];
                pos = 0;
            }
        }
この問題の原因は何ですか?このクライアントライブラリは、サーバーが使用するWebSocketバージョンに準拠していない可能性がありますか?
Weberknechtの向こうの問題はまだ解決されていません。この質問は非常に一般的な問題(WebSocketヘッダーとハンドシェイクデータの読み取り)のように思われるため、ここで質問したいと思います。