Problem je u blokiranju. Pošto se istovremeno izvršava metoda Protokol.uspostaviVezu dolazi do blokade u delu koda gde se od istog soketa uzmaju InputStream i OutputStream i obmotavaju u Object tokove.
Probao sam da razdvojim zajedničku klasu Protokol u 2 i samo sam obrnuo redosled stvaranja tokova (u jednoj Input pa Output u drugoj obratno) i sve radi. Ali mi to deluje nakalemljeno. Da li postoji neko elegantnije rešenje ili mora biti drugačiji redosled? Uvek mogu primeniti ideju da ono što je različito enkapsuliram, ali bih ipak voleo da mi nadklasa bude identična i za klijenta i da servera. Da li je to uopšte moguće?