接收错误的字节套接字java

时间:2018-02-25 18:47:29

标签: java sockets server client

我正在实现一个简单的客户端 - 服务器程序,我希望从客户端程序向服务器发送64位随机数。我遇到的问题是,服务器上收到的字节数组与客户端发送的字节数组不同。任何帮助搞清楚错误都将非常感谢!

我使用Socket send and receive byte array作为我实施的参考。

客户计划:

SecureRandom random=new SecureRandom();
byte[] r_a=new byte[8];
random.nextBytes(r_a);
DataOutputStream bos = new DataOutputStream(client_soc.getOutputStream());
bos.writeInt(r_a.length);
bos.write(r_a);

bos.flush();
bos.close();
client_soc.close();

服务器程序:

byte[] r_a;
DataInputStream bis= new DataInputStream(ser_soc.getInputStream());
int length_rand=bis.readInt();
if(length_rand>0) {
    r_a= new byte[length_rand];
    bis.readFully(r_a,0,length_rand);
    System.out.println("r_a : "+ r_a);
    System.out.println("r_a length : "+ r_a.length);
}
bis.close();
ser_soc.close();

我的结果: 客户端程序发送r_a:[B @ 78308db1

收到服务器程序r_a:[B @ 2689d3df

0 个答案:

没有答案