1

好的,所以我有一个服务器程序(java)用于将服务器屏幕广播到客户端。我将图像转换为字节数组并将其发送给客户端。我在发送多个字节数组时遇到问题,因为在客户端发送和接收第一个字节数组后,我收到第二个字节数组的错误。在服务器端,我有代码:

                imageInByte=baos.toByteArray();
                outToClient.writeInt(imageInByte.length);
                System.out.println(Integer.toString(imageInByte.length));

这告诉客户端传入的字节数组的大小。在客户端我有代码:

            int c = inFromServer.readInt();
            System.out.println(Integer.toString(c));

这一切都很好,服务器上估计的大小是客户端接收和打印的大小,但是当我实际尝试将字节数组写入数据输出流时,客户端接收的字节数组与“ .length”估计。

例如,第一个字节数组被称为 118207(没有发送实际的字节数组。

然后,当我尝试将第一个字节数组发送给客户端时,客户端将其接收为 118207。

第二个没有尝试实际写入数组的是 126205 但是当我尝试写入对象时,大小是 -2555936

第三个应该是 125709 但在客户端以 1229324289 字节出现。

这让我发疯了,我有一个项目将于下周四到期,如果不解决这个问题就无法继续。任何帮助将不胜感激,如果这是一个奇怪的布局或者你不明白我只是问问题。谢谢。

4

0 回答 0