Шрифт:
Мы специально поставили первым пунктом (после завершения трехэтапного рукопожатия) вызов функции str_cli, происходящий на стороне клиента, а затем уже перечислили действия на стороне сервера. Причину объясняет рис. 2.5: функция connect возвращает управление, когда клиент получает второй сегмент рукопожатия. Однако функция accept не возвращает управление до тех пор, пока сервер не получит третий сегмент рукопожатия, то есть пока не пройдет половина периода RTT после завершения функции connect.
Мы намеренно запускаем и клиент, и сервер на одном узле — так проще всего экспериментировать с клиент-серверными приложениями. Поскольку клиент и сервер запущены на одном узле, функция
l
Первая из строк состояния
Для проверки состояний процессов и отношений между ними можно также использовать команду
Мы вызвали
Колонка
5.7. Нормальное завершение
На этом этапе соединение установлено, и все, что бы мы ни вводили на стороне клиента, отражается обратно.
Мы вводим две строки, каждая из них отражается, затем мы вводим символ конца файла (EOF)