Chrome v.37. Хост Native Messaging попытался отправить сообщение длиной 977472013 байта [duplicate]

Короткие коды

public class DB {

    public static Connection c;

    public static Connection getConnection() throws Exception {
        if (c == null) {
            Class.forName("com.mysql.jdbc.Driver");
            c =DriverManager.getConnection("jdbc:mysql://localhost:3306/DATABASE", "USERNAME", "Password");
        }
        return c;
    }

    // Send data TO Database
    public static void setData(String sql) throws Exception {
        DB.getConnection().createStatement().executeUpdate(sql);
    }

    // Get Data From Database
    public static ResultSet getData(String sql) throws Exception {
        ResultSet rs = DB.getConnection().createStatement().executeQuery(sql);
        return rs;
    }
}
0
задан Thordax 9 August 2015 в 22:04
поделиться

2 ответа

Многие ответы предлагают проверить правильность обработки первых четырех байтов. Но это не всегда настоящая причина. Кажется, что в вашем случае причиной является отсутствие @echo off в launch.bat.

При возникновении ошибки

Хост Native Messaging попытался отправить сообщение, которое длиной 977472013 байта

Прежде всего, попробуйте запустить приложение из командной строки, возможно, что выход «trash»

0
ответ дан Croacker 31 August 2018 в 22:54
поделиться

Я думаю, вам нужно поменять порядок байтов, определяющих длину вашего сообщения. Измените метод getBytes () :

public byte[] getBytes(int length) {
    byte[] bytes = new byte[4];
    bytes[3] = (byte) (length & 0xFF);
    bytes[2] = (byte) ((length >> 8) & 0xFF);
    bytes[1] = (byte) ((length >> 16) & 0xFF);
    bytes[0] = (byte) ((length >> 24) & 0xFF);
    return bytes;
}
1
ответ дан H Lopez 31 August 2018 в 22:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: