我对 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/