gpt4 book ai didi

java - java中通过socket发送序列化文件

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

System.out.println("Java 太棒了!");

请原谅我的热情;我简直不敢相信 Java 有多强大,它不仅能够保存对象(并加载它们),而且还能实现通过网络发送对象的主要目的。这正是我必须做的,因为我正在进行 Beta 测试。在这个 beta 测试中,我给了测试人员一个游戏版本,它将数据作为对象保存在大多数人不知道的位置(我们是开明者哈哈哈)。这会工作得很好,但它并不适合长期坚持。但是,我可以通过与套接字的一些客户端/服务器交互来收集它们的 record.sercounter.bin 文件(后者告诉我 record.ser 中有多少对象)(我对此一无所知,直到我开始阅读它,但我仍然感到无能为力)。我在网上看到的大多数示例(例如: http://uisurumadushanka89.blogspot.com/2010/08/send-file-via-sockets-in-java.html )都将文件作为字节流发送,即一些 ObjectOutputStream 和 ObjectInputStream。这正是我当前版本的游戏用来保存/加载游戏数据的方法。

很抱歉这个冗长的介绍,但是你知道我必须做什么(逐步进行,这样我才能理解)才能真正发送整个文件。我是否必须逐字节(或逐个对象)重建文件?

最佳答案

实际上,这很简单。只需使您的对象可序列化,并创建一个连接到您拥有的任何底层流(例如 FileInputStream 等)的 ObjectOutputStream 和 ObjectInputStream 即可。然后只需将您想要的任何对象 write() 到流中并在另一端读取它。

这是 example为你。

对于套接字,它会类似于

ObjectOutputStream objectOut = new ObjectOutputStream(serverSocket.getOutputStream());
ObjectInputStream objectIn = new ObjectInputStream(clientSocket.getInputStream());

关于java - java中通过socket发送序列化文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16668025/

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