Java:通过UDP发送JSON

时间:2018-05-30 11:46:31

标签: java json networking stream 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 个答案:

答案 0 :(得分:1)

1)序列化JSON(例如转换为字符串)

2)根据大小分组(例如分割字符串)

3)send UDP packets

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

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