gpt4 book ai didi

java - java中的最大对象大小

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:20 26 4
gpt4 key购买 nike

您好,我刚开始使用 JAVA 将对象从服务器传输到客户端。谁能知道我可以通过SSL 网络 从客户端传输到服务器的最大对象大小 是多少?

截至目前,我正在使用两种字符串类型、一种长类型、三种日期类型和一种映射类型的值通过 SSL 网络将对象从客户端传输到服务器。

因此,在将对象从客户端传输到服务器之前,我需要在我的对象中添加一个 byte[] 类型。

对于 byte[] 的值,我将读取我的进程的输出文件并将其设置为它的值。在我的过程中,我不知道该文件中有多少字节。

那么谁能告诉我,如果我将文件内容设置在 byte[] 中并通过网络传输,是否会发生数据丢失?服务端收到后能拿到我的全部值(value)吗?

给我一​​个好的建议。提前致谢。

最佳答案

Can any one knows what is the max size of object that I can transfer from client to server over a SSL network.

  • 对 SSL 传输或 TCP 传输的大小没有限制。
  • 除了数组中元素的最大数量(当然还有可用 RAM)外,Java 对象大小没有限制。

I need to add one byte[] type in my object before transfer the object from client to server.

For the value of byte[] I will read an output file of my process and set as the value of its. In my process I don't know how much byte would be in that file.

您需要重新考虑协议(protocol)的那一部分。 byte[] 限制为 2^31-1 个元素,文件可以远大于此。您将在分配大数组、将大文件读入内存以及在另一端重建它们时遇到麻烦。您应该围绕以可管理大小的 block 发送文件重新设计协议(protocol),例如一次 8k 或 32k,并带有长度字前缀并指示哪个是最终 block 。

So can any one tell me if I set the file content in byte[] and transfer over a network any data losses will occur?

TCP 不会丢失数据。您在发送时会遇到我上面提到的问题,在接收时也会遇到类似的问题。不要这样做。

Can I get my full value after received in server side?

您可以随心所欲地阅读,但您需要注意 read() 并未约定一次传输超过一个字节。如果您期望更多,则需要循环阅读,直到获得您期望的一切。

关于java - java中的最大对象大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34125870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com