有谁知道怎么做?使用java套接字
答案 0 :(得分:1)
这可以通过装饰套接字的输入和输出流来实现。
所以看起来像这样:
class SocketWrapper extends Socket {
private CountingInputStream input;
@Override
public InputStream getInputStream() throws IOException {
if (input == null) {
input = new CountingInputStream(super.getInputStream());
}
return input;
}
public int getInputCounter() {
return input.getCounter();
}
// other stuff like getOutputStream
}
class CountingInputStream extends InputStream {
private final InputStream inputStream;
public CountingInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}
private int counter = 0;
public int getCounter() {
return counter;
}
@Override
public int read() throws IOException {
counter++;
return inputStream.read();
}
// other methods
}
最后,如果您只是想知道流量,可以使用嗅探器。
答案 1 :(得分:0)
请参阅this accepted answer,因为它提供了示例代码以及如何衡量使用的速度。