Se da un lato usi DataOutputStream per inviare i 2 int, dall'altro lato DEVI usare DataInputStream.
Il int read() di BufferedReader NON corrisponde/rispecchia assolutamente il writeInt(int) di DataOutputStream ! Sono due cose e due concetti radicalmente diversi.