gpt4 book ai didi

java - 有没有办法通过套接字发送带有 DataOutputStream 的 Point 数组?

转载 作者:行者123 更新时间:2023-12-01 15:19:41 25 4
gpt4 key购买 nike

我想通过套接字使用 DataOutputStream 发送一个点数组 (Point points[] = new point[20]),并能够使用另一端的 DataInputStream 正确读取它。我不能单独发送每个元素,它必须作为整个数组发送并且能够被解释为整个数组。

最佳答案

参见例如Advanced Socket Programming 中的“传输自定义对象”部分:

  1. 将您的数据放入可序列化的类,例如 MyData。 (在您的情况下,您实际上不必这样做,因为数组实现了可序列化,但稍后您有可能希望与点数组一起发送其他数据......)
  2. 发送者端,创建一个 MyData对象并用数据填充它。将 socket.getOutputStream() 转换为 ObjectOutputStream , 和调用其 writeObject 方法来发送 MyData 对象。
  3. 接收器上侧面,将 socket.getInputStream() 转换为 ObjectInputStream ,并调用它的 readObject 方法来接收对象(您必须强制转换到 MyData)。

无论如何,我也会考虑使用RMI 。例如,您可以创建一个 PointServer,将其注册到 RMI 注册表中,然后通过客户端应用程序中的简单函数调用来访问它。 RMI 比套接字更容易使用。例如,您不必设计协议(protocol),只需为分布式对象定义方法。

关于java - 有没有办法通过套接字发送带有 DataOutputStream 的 Point 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11129040/

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