Pues hay varias posibilidades.
La primera es que utilices
read(char[] cbuf, int off, int len) en lugar de
readLine. En
read puedes especificar el numero de bytes que quieres leer. La funcion regresa el numero de bytes que en realidad leyo. Asi puedes llevar la cuenta de los bytes que has leido.
La segunda opcion es que utilices la funcion
available() de
InputStream. Tendrias que asignar el
InputStream del socket a un objeto y con el mantener la cuenta.
Código:
char EOF = (char)0x00;
int total = 0;
BufferedReader in = new BufferedReader (new InputStreamReader(scliente.getInputStream()));
InputStream ins = scliente.getInputStream();
total += ins.available();
String linea = in.readLine().trim();