Состояние CLOSED (например, отсутствует блок TCB)
Если клиент не имеет доступа к такому соединению, вернуть сообщение "error: connection illegal for this process". В противном случае вернуть сообщение "error: connection does not exist".
Состояния
LISTEN SYN-SENT SYN-RECEIVED
Поместить запрос в очередь на обслуживание после установления ESTABISHED состояния. Если в очереди для этого нет места, вернуть сообщение "error: insufficient resources".
Состояния
ESTABLISHED FIN-WAIT-1 FIN-WAIT-2
Если в пришедших сегментах недостаточно данных для выполнения данного запроса, поместить последний в очередь на обслуживание. Если же в очереди нет места для размещения запроса RECEIVE, вернуть сообщение "error: insufficient resources".
Собрать данные из приходящих сегментов в буфере получения, а затем передать их клиенту. Установить флаг "обнаружено проталкивание" (PUSH), если это имеет место.
Если данным, передаваемым в настоящий момент клиенту, предшествовал RCV.UP, то оповестить клиента о присутствии срочных данных. Когда протокол TCP берет на себя ответственность за получение клиентом данных, то это фактически означает обмен информацией с отправителем в виде подтверждений. Формирование такого подтверждения обсуждается ниже при рассмотрении алгоритма обработки приходящего сегмента.
Состояние CLOSE-WAIT
Поскольку партнер на другом конце соединения уже послал сигнал FIN, то команды RECEIVE должны получать данные, уже имеющиеся в системе, а не только те, которые уже переданы клиенту. Если в системе больше нет текста, ждущего своего запроса RECIVE, то передать клиенту сообщение "error connection closing". В противном случае использовать для удовлетворения запроса RECEIVE любую имеющуюся информацию.
Состояния
CLOSING LAST-ACK TIME-WAIT
Вернуть сообщение "error connection closing".