Java中的套接字流
当通过套接字连续写入/读取数据集时,如何识别1个数据集的结尾、下一个数据集的开始,以及整个数据集是否甚至在检索流中,而不仅仅是其中的一部分Java中的套接字流,java,sockets,tcp,inputstream,Java,Sockets,Tcp,Inputstream,当通过套接字连续写入/读取数据集时,如何识别1个数据集的结尾、下一个数据集的开始,以及整个数据集是否甚至在检索流中,而不仅仅是其中的一部分 为了简单起见,假设我通过套接字发送JSON字符串。我如何知道整个对象是否在那里,并从头到尾获取该对象,以便正确读取它?请记住,这一个后面可能有更多的对象。这取决于具体情况。如果您使用ObjectOutputStream,那么Java会为您解决这个问题。显然,这是特定于Java的,需要在另一端有一个ObjectInputStream。它还希望您将可序列化对象发
为了简单起见,假设我通过套接字发送JSON字符串。我如何知道整个对象是否在那里,并从头到尾获取该对象,以便正确读取它?请记住,这一个后面可能有更多的对象。这取决于具体情况。如果您使用
ObjectOutputStream
,那么Java会为您解决这个问题。显然,这是特定于Java的,需要在另一端有一个ObjectInputStream
。它还希望您将可序列化对象发送到另一端<但是,code>String是一个可序列化的对象,我通常希望任何数据结构都是可序列化的
否则,您必须自己考虑某种容器格式。现在,使用XML结构将数据序列化为XML也是非常常见的。如果你达到更高的层次,你就可以使用web服务了。这要看情况而定。如果您使用
ObjectOutputStream
,那么Java会为您解决这个问题。显然,这是特定于Java的,需要在另一端有一个ObjectInputStream
。它还希望您将可序列化对象发送到另一端<但是,code>String是一个可序列化的对象,我通常希望任何数据结构都是可序列化的
否则,您必须自己考虑某种容器格式。现在,使用XML结构将数据序列化为XML也是非常常见的。如果你达到更高的层次,你就可以使用web服务了。你能提供一些代码吗?如果你使用Jackson,你可以告诉
JsonParser
在读取JSON值时不要自动关闭输入流。你能提供一些代码吗?如果你使用Jackson,您可以告诉JsonParser
在读取JSON值时不要自动关闭输入流。“数据容器”可能是比“数据结构”更好的名称,但这个名称很久以前就在大学里出现了……很有趣,所以通过使用对象输入/输出流,他们可以确保我得到一个完整的对象,还是什么都没有?所以他们会确保整个对象都被写入和接收,所有这些都在一起?所以我不需要担心1/2对象?SerialVersionUID必须是相同的。这些类不需要相同,“实例”当然也不可能相同。您仍然需要使用正确的词语。您在谈论“类版本”时编写了“对象实例”。该类的“serialVersionUID”两端应该相同。你似乎不明白这里的意思。“数据容器”可能比“数据结构”更好,但这个名字很久以前就在大学里了……很有趣,所以通过使用对象输入/输出流,他们会确保我得到一个完整的对象还是什么都没有?所以他们会确保整个对象都被写入和接收,所有这些都在一起?所以我不需要担心1/2对象?SerialVersionUID必须是相同的。这些类不需要相同,“实例”当然也不可能相同。您仍然需要使用正确的词语。您在谈论“类版本”时编写了“对象实例”。该类的“serialVersionUID”两端应该相同。你似乎没有抓住重点。