Как можно прочесть данные (пакет TCP, вроде), если он ещё не
пришёл? Нужно не готовность к отправке данных у сервера спрашивать,
а наличие данных от сервера у клиента проверять. Серверу дали
команду по telnet. И спрашивай его, не спрашивай - всё одно, пока
соединение TCP не разорвано, ответ клиенту отправит. А уж когда
клиент делает своё чтение серверу без разницы, лишь бы не раньше,
чем доставка пакета-ответа имела место. Наверное, вам следует у TCP-протокола спрашивать готовность данных, а не у сервера.