我一直在尝试找到一种从服务器向客户端发送int []的方法。我有一个基本的多人游戏,可以通过局域网工作。除了Java本身强加的限制之外,目前没有玩家限制。每个玩家都有一个他们可以使用WASD控制的方格。在服务器中,我目前使用byte []来存储所有玩家位置。这个问题是这些职位不能超过128或-127。但是,DataOutputStream可以写byte [] s但不能写int [] s。我已经看到有一个writeInt()函数,但是这只能在一个变量中发送一个数字而不是一堆数字。我担心使用它,因为我不希望客户端以错误的顺序接收整数并弄乱它们。所以真正的问题是:在客户端和服务器之间发送一堆整数的最佳方法是什么?我还想尽快保持速度。如果你需要看,我可以发布我当前的代码。
顺便说一下这是我的第一篇文章,所以如果我做错了,请告诉我。
答案 0 :(得分:0)
你需要:
获取与客户端的连接。现在,这通常由java.nio包中的SocketChannel类完成。
如果hou有一个int数组,请使用IntBuffer类并将int []包装到IntBuffer实例中。
将您的IntBuffer对象作为SocketChannel的write()方法的参数。不要忘记先打开连接。