Функции C ++ согласно TCP - PullRequest
       30

Функции C ++ согласно TCP

0 голосов
/ 23 ноября 2011

Я использую функцию recv (C ++), чтобы получить индикацию о проблеме с сетью (в этом случае она возвращает отрицательное значение)увидеть, что есть R1 и R2.

R1 - это когда TCP сообщает приложению о наличии проблемы.R2 это когда соединение закрыто.

«Значение R1 ДОЛЖНО соответствовать как минимум 3 повторным передачам при текущем RTO.Значение R2 ДОЛЖНО соответствовать как минимум 100 секундам. ”

RTO (Тайм-аут повторной передачи) обычно начинается через 3 секунды, поэтому для R1 это может произойти примерно через 10 секунд.Как я понимаю, функция приема даст мне знать о R2.Знаете ли вы, как получить R1 в приложении C ++?

10x.

1 Ответ

0 голосов
/ 23 ноября 2011

В большинстве систем recv () передает информацию двумя способами: код возврата и установкой глобальной переменной errno .

Чтобы узнать, что возвращается / устанавливается в каждом случае, вам нужно посмотреть на точный API функции recv ().

  • R1 (проблема): recv () возвращает SOCKET_ERROR (windows) или -1 (linux), затем вы смотрите на значение из WSAGetLastError (windows) или errno (linux) для деталей
  • R2 (связь закрыта): я не уверен, API неясно.Просто попробуйте; -)

Полный документ:

...