我使用read()
和write()
编写了套接字程序。
每当我想使用write()
发送大数据时。我无法一次收到数据。意味着我的数据分为两部分,那么如何发送大量数据呢?或者一次读取数据?
此外,我无法知道这是write()
还是read()
由于 BAPI
答案 0 :(得分:2)
read()只保证读取1个字节,超过这个奖励。
处理此问题的常用方法是使用DataOutputStream和DataInputStream发送所需“块”的大小。
public static void write(DataOutput out, byte[] bytes) throws IOException {
out.writeInt(bytes.length);
out.write(bytes);
}
public static byte[] read(DataInput in) throws IOException {
int len = in.readInt();
byte[] bytes = new byte[len];
in.readFully(bytes);
return bytes;
}