Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:通过UDP发送JSON_Java_Json_Networking_Stream_Udp - Fatal编程技术网

Java:通过UDP发送JSON

Java:通过UDP发送JSON,java,json,networking,stream,udp,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

如何通过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实现JSON的方法(例如转换为字符串)

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

(三)

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

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

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

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

(三)

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


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

这并不像您自己花时间试图找到解决方案那样让我感到震惊。作为对您问题的补充,我认为您不应该希望通过UDP发送JSON。在此过程中,您可能会丢失数据。我觉得这不像您自己花时间试图找到解决方案那样。作为对您问题的补充,我认为您不应该希望通过UDP发送JSON。在此过程中,您可能会丢失数据。非常感谢。这个提示帮助了我。非常感谢。这个暗示对我有帮助。