Любые данные, отправляемые через сокет TCP, подтверждаются в обоих направлениях. Данные, передаваемые от клиента к серверу, аналогичны данным, передаваемым с сервера на клиент, в отношении проводной связи TCP и сигнализации приложений Как упоминает @Eric, нет никакого способа получить эту сигнализацию.
Возможно, вы говорите об истечении времени ожидания ответа от сервера. Это вы хотели бы обнаружить, если ответ занимает слишком много времени. Возможно ли, что сообщение клиента больше, чем ответ сервера, поэтому буферизация мешает ответу, но не первоначальному запросу? Вы пытались использовать неблокирующие розетки?
Возможно, вы захотите взглянуть на код NIO , если вы еще этого не сделали. У него есть несколько классов, которые дают вам более точный контроль над сокетными коммуникациями.