套接字发送和接收字节数组
在服务器中,我通过Java套接字将字节数组发送到客户端
byte[] message = ... ;
DataOutputStream dout = new DataOutputStream(client.getOutputStream());
dout.write(message);
如何从客户端接收此字节数组?
在服务器中,我通过Java套接字将字节数组发送到客户端
byte[] message = ... ;
DataOutputStream dout = new DataOutputStream(client.getOutputStream());
dout.write(message);
如何从客户端接收此字节数组?
试试这个,它对我有用。
寄件人:
byte[] message = ...
Socket socket = ...
DataOutputStream dOut = new DataOutputStream(socket.getOutputStream());
dOut.writeInt(message.length); // write length of the message
dOut.write(message); // write the message
接收器:
Socket socket = ...
DataInputStream dIn = new DataInputStream(socket.getInputStream());
int length = dIn.readInt(); // read length of incoming message
if(length>0) {
byte[] message = new byte[length];
dIn.readFully(message, 0, message.length); // read the message
}
首先,除非确实有必要,否则不要使用。第二:DataOutputStream
Socket socket = new Socket("host", port);
OutputStream socketOutputStream = socket.getOutputStream();
socketOutputStream.write(message);
当然,这没有任何错误检查,但这应该让你继续前进。JDK API Javadoc是你的朋友,可以帮到你很多忙。