java - java 发送和接收二维数组

标签 java networking

我想通过提出这个问题来实现的是学习如何向另一台计算机发送和接收二维数组

上下文是二维数组是我的游戏的 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/

相关文章:

linux - 如何获取完整的目标IP地址(x.x.x.x/x)netstat命令?

android - Android 中的 Java 客户端套接字连接

java - 使用双向身份验证连接到服务器时 Java 测试客户端中的 SSL Handshake_failure

java - 具有正常关闭功能的 AsynchronousServerSocketChannel

java - 使用文件存在忽略我的 Maven 配置文件中的激活(配置文件始终执行)

c - 如何传输以太网帧?

java - Android - XMPP 与 Openfire

c - 在局域网中没有 IP 的 PC 上使用 MAC 地址发送消息

java - 如何在flash builder项目中使用swc文件

java - 在java中使用正则表达式