Java:通过 UDP 发送 JSON

Java: send JSON over UDP

如何通过 UDP 在 Java 中发送 JSONObject?

对于 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) 序列化 JSON(例如转换为字符串)

2) 根据大小划分数据包(例如拆分字符串)

3) send UDP packets

接收方可能只接收到几个数据包,即使接收到所有数据包,它也会按任何顺序接收。如果您有 5 个数据包,您可能想要添加一些前导数字,例如 1/5 2/5 3/5 等。这只是一个想法。我会坚持使用 TCP。

此外,您必须在反序列化逻辑中添加一些超时。