如何限制从Socket通过ObjectInputStream读取的最大大小?

SAL*_*000 1 java sockets serialization stream

有没有办法限制从java中的ObjectInputStream读取的最大缓冲区大小?

如果很明显有问题的对象是恶意巨大的,那么我想停止反序列化.

当然,有ObjectInputStream.read(byte [] buf,int off,int len),但我不想受到分配的性能损失,比如byte [1000000].

我在这里错过了什么吗?

Jon*_*eet 5

FilterInputStream如果发现它从其基础流中读取了超过一定数量的数据,那么您编写一个会抛出异常.