我想通过提出这个问题来实现的是学习如何向另一台计算机发送和接收二维数组。
上下文是二维数组是我的游戏的 map ,当我开始游戏时,我希望有一个选项是服务器或客户端(如果是客户端,请指定服务器IP),然后服务器会在连接时向客户端(其中一个可能是另一个人,具有不同的IP)发送二维数组。
我希望这一切都有道理,我之前已经给出了这个,但我无法让它工作,我尝试过数据报包,但我不知道如何发送所有分段二维数组,然后将其恢复为二维数组。
我需要使用什么类型的流或通用网络对象?它能够发送二维数组吗? 你能举个例子来帮助我设置它吗?
还要注意的是,我随后将发送玩家坐标和 map 更改,因此如果网络对象也可以使用它,那么这是一个优点。
最佳答案
如果对象类型是可序列化的实例,这将适用于任何原始类型数组和对象数组
服务器
ServerSocket ss = new ServerSocket(port);
Socket s = ss.accept();
ObjectInputStream is = new ObjectInputStream(s.getInputStream());
byte[][] array = (byte[][])is.readObject();
客户端
byte[][] array = new byte[10][10];
Socket s = new Socket("host", port);
ObjectOutputStream os = new ObjectOutputStream(s.getOutputStream());
os.writeObject(array);
关于java - java 发送和接收二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14054828/