Собственный узел обмена сообщениями попытался отправить сообщение длиной 977472013 байта

Я использую java jar для отправки и получения сообщений с помощью Chrome Native Messaging.

Я включил ведение журнала Chrome, чтобы я мог читатьC:\Users\%UserName%\AppData\Local\Google\Chrome\User Data\chrome_debug.log файл

Я на самом деле не могу отправить или получить сообщение с моим приложением Java, но я знаю, что оно используется.

Вот манифест моего хозяина:

{
   "allowed_origins" : 
    [ 
        "chrome-extension://EXTENSION-ID/" 
    ],
   "description" : "my.app",
   "name" : "my.app",
   "path" : "launch.bat",
   "type" : "stdio"
}

Вот содержимое командного файла launch.bat:

java -jar "%~dp0ChromeSEOConnector.jar"

И вот мой код Java:

private String readMessage(InputStream in) throws IOException {
        byte[] b = new byte[4];
        in.read(b);

        int size = getInt(b);

        b = new byte[size];
        in.read(b);

        return new String(b, "UTF-8");
    }

private void sendMessage(String message) throws IOException {
        Text text = new Text(message);
        String resposta = serializer.toJson(text);
        System.out.write(getBytes(resposta.length()));
        System.out.write(resposta.getBytes("UTF-8"));
        System.out.flush();
    }

public int getInt(byte[] bytes) {
        return (bytes[3] << 24) & 0xff000000 |
                (bytes[2] << 16) & 0x00ff0000 |
                (bytes[1] << 8) & 0x0000ff00 |
                (bytes[0] << 0) & 0x000000ff;
    }

 public byte[] getBytes(int length) {
        byte[] bytes = new byte[4];
        bytes[0] = (byte) (length & 0xFF);
        bytes[1] = (byte) ((length >> 8) & 0xFF);
        bytes[2] = (byte) ((length >> 16) & 0xFF);
        bytes[3] = (byte) ((length >> 24) & 0xFF);
        return bytes;
    }

Похоже, что System.in никогда не получает данные от моего приложения, и System.out также никогда не отправляет данные.

Chrome продолжает получать ту же ошибку:

Native Messaging host tried sending a message that is 977472013 bytes long.

Что странно, так это то, что размер сообщения всегда один и тот же, даже если я вручную изменяю размер отправляемого сообщения, как если бы сообщение вообще не анализировалось. Вы сталкивались с такой ошибкой? заранее спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос