Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
Sockets 当对象非常大时,ObjectOutputStream如何调用writeObject?_Sockets_Objectoutputstream_Large Data - Fatal编程技术网

Sockets 当对象非常大时,ObjectOutputStream如何调用writeObject?

Sockets 当对象非常大时,ObjectOutputStream如何调用writeObject?,sockets,objectoutputstream,large-data,Sockets,Objectoutputstream,Large Data,我有一个大文件,需要通过套接字从服务器传输到客户端。如果我想在ObjectOutputStream中使用writeObject发送对象,通常的方法是什么?在客户端读取如何?请小心对象流,它们会产生不良的副作用,会将对象存储在内存中,以防止出现双实例。一用完就把它关上 如果对象很大,您可以用压缩器链接流,java中有许多好的压缩对象,如DeflatorOutputStream和InflatorInputStream 有关如何执行此操作的快速教程,请检查以下内容: 我是否需要将数据分成不同的部分

我有一个大文件,需要通过套接字从服务器传输到客户端。如果我想在
ObjectOutputStream
中使用
writeObject
发送对象,通常的方法是什么?在客户端读取如何?

请小心对象流,它们会产生不良的副作用,会将对象存储在内存中,以防止出现双实例。一用完就把它关上

如果对象很大,您可以用压缩器链接流,java中有许多好的压缩对象,如
DeflatorOutputStream
InflatorInputStream

有关如何执行此操作的快速教程,请检查以下内容:

我是否需要将数据分成不同的部分


不需要。只需在一端调用
writeObject()
,在另一端调用
readObject()
。TCP将为您整理所有分段。

您将在客户端中调用ObjectInputStream.readObject()。如果要使用
writeObject()
,请使用
writeObject()
。问题是什么?我的问题是如何将大数据包装到可由writeObject()传输的对象中。换句话说,我是否需要将数据分成不同的部分,然后分别包装成对象?不管是什么问题,他都没有回答。他没有问(a)使用对象流的适当性/缺陷或(b)压缩。这只会留下你的链接,这使得这个链接的相关部分成为唯一的答案?您不调用
readObject()
<代码>写入对象()?TCP不会为您整理所有的细分?请提供信息。