Java - 通过 TCP 传递对象的 ArrayList

标签 java arraylist tcp tostring shapes

我对 Java 还很陌生,并且有一个练习,我在客户端和服务器之间建立了 TCP 连接。

在客户端,我有一个形状对象的 ArrayList,我在其中添加新的三角形、矩形等并将它们添加到此 ArrayList。当我打开与服务器的连接时,我在传递 ArrayList 时遇到问题。

您认为我应该在传递到服务器端之前将 ArrayList 转换为字符串吗?

谢谢

最佳答案

TCP 允许从客户端向服务器发送字节。您想通过 List<Shape> 。因此,您需要一种方法来转换 List<Shape>转换为字节。

有几种常见的方法可以做到这一点:

  • 将您的形状表示为 XML 文档
  • 将您的形状表示为 JSON 文档
  • 使用自定义格式将您的形状表示为字符串或字节数组
  • 使用 native Java 序列化,可以将任何可序列化对象转换为字节

最后一个是最简单的,但它不允许将形状发送到除另一个 Java 程序之外的任何程序,该程序也具有客户端在其类路径中具有的 Shape 类。

关于Java - 通过 TCP 传递对象的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40439441/

相关文章:

java - 简洁地将 Optional.absent() 值传递给方法

java - java中匹配 "|>"符号的正则表达式

java - 如何将一个ArrayList的内容复制到另一个ArrayList中

java - FixtureList生成器问题java

qt - 拒绝到 TCP 服务器的传入连接

sockets - 为什么 'netstat' 无法检测到某些打开的套接字?

java - 哪些java.nio.file.Files方法遵循符号链接(symbolic link),哪些不遵循符号链接(symbolic link)?

java - Java 中的 DFS 和 SMB(jcifs) 问题

java - 从 ArrayList Java 中的 HashMap 键中检索所有值

tcp - 在哪里可以找到 WireShark 的 IP 分段示例 pcaps?