Java: отправьте JSON через UDP - PullRequest
0 голосов
/ 30 мая 2018

как мне отправить JSONObject в Java через UDP?

Для TCP я использую мой следующий код:

private OutputStreamWriter outStreamW;

public void sendToConsumer(JSONObject jsonOb, Socket tcpSocket) {
    try {
        outStreamW = new OutputStreamWriter(tcpSocket.getOutputStream(), StandardCharsets.UTF_8);
        outStreamW.write(jsonOb.toString() + "\n");
        outStreamW.flush();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

Однако я упускаю подход, поскольку я реализую его по UDP

1 Ответ

0 голосов
/ 30 мая 2018

1) сериализация JSON (например, преобразование в строку)

2) деление на пакеты в зависимости от размера (например, разбиение строки)

3) отправка пакетов UDP

Получатель может получить только несколько пакетов и, даже если он получает все, он получает в любом порядке.Вы можете добавить начальный номер, например, 1/5 2/5 3/5 и т. Д., Если у вас 5 пакетов.Это всего лишь идея.Я бы придерживался протокола TCP.

Кроме того, вам придется добавить некоторое время ожидания в логику десериализации.

...