30.2. Альтернативы для клиента TCP
30.2. Альтернативы для клиента TCP
Мы уже обсуждали различные способы устройства клиентов, но стоит тем не менее еще раз обратить внимание на относительные достоинства и недостатки этих способов.
1. В листинге 5.4 показан основной способ устройства клиента TCP. С этой программой были связаны две проблемы. Во-первых, когда она блокируется в ожидании ввода пользователя, она не замечает происходящих в сети событий, например отключения собеседника от соединения. Во-вторых, она действует в режиме остановки и ожидания, что неэффективно в случае пакетной обработки.
2. Листинг 6.1 содержит следующую, модифицированную версию клиента. С помощью функции select клиент получает информацию о событиях в сети во время ожидания ввода пользователя. Однако проблема этой версии заключается в том, что программа не способна корректно работать в пакетном режиме. В листинге 6.2 эта проблема решается путем применения функции shutdown.
3. С листинга 16.1 начинается рассмотрение клиентов, использующих неблокируемый ввод-вывод.
4. Первым из рассмотренных нами клиентов, вышедшим за пределы ограничений, связанных с наличием единственного процесса или потока для обслуживания всех запросов, является клиент, изображенный в листинге 16.6. В этом случае использовалась функция fork, и один процесс обрабатывал передачу данных от клиента к серверу, а другой — в обратном направлении.
5. В листинге 26.1 используются два потока вместо двух процессов.
В конце раздела 16.2 мы резюмируем различия между перечисленными версиями. Как мы отметили, хотя версия с неблокируемым вводом-выводом является самой быстродействующей, ее код слишком сложен, а применение двух потоков или двух процессов упрощает код.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Альтернативы портам завершенияввода/вывода
Альтернативы портам завершенияввода/вывода В главе 9 было показано, как использовать семафор для ограничения количества готовых к выполнению потоков, и этот же метод можно эффективно применять для регулирования пропускной способности в условиях, когда множество
13.4. Альтернативы read() и write()
13.4. Альтернативы read() и write() Несмотря на то что системные вызовы read() и write() как нельзя лучше подходят приложениям для извлечения и хранения данных в файле, все же они не всегда являются самыми быстрыми методами. Они допускают управление отдельными порциями данных; для
Альтернативы DNS
Альтернативы DNS Можно получить информацию об имени и адресе без использования DNS. Типичной альтернативой служат статические файлы со списком узлов (обычно файл /etc/hosts, как мы указываем в табл. 11.2), информационная система сети (Network Information System, NIS) и упрощенный протокол службы
«Википедия» – живая энциклопедия и ее альтернативы
«Википедия» – живая энциклопедия и ее альтернативы «Википедия»«Википедия» (от англ. Wikipedia, образованного от гавайского wiki-wiki, что означает «быстро») – общедоступная, многоязычная и свободно распространяемая интернет-энциклопедия (рис. 5.11). Рис. 5.11. Главная страница
Альтернативы ICQ
Альтернативы ICQ Популярность интернет-пейджеров привела к возникновению целого ряда других клиентских программ. Официальный клиент ICQ от Mirabilis претерпел за время своего существования значительные изменения. Этот программный продукт уверенно двигался, если можно так
8.6.2. Настройка клиента NFS
8.6.2. Настройка клиента NFS В предыдущем разделе было рассмотрено, как настроить сетевую файловую систему NFS. Теперь давайте рассмотрим как можно подмонтировать имеющуюся сетевую файловую систему к какому-либо клиенту. Напоминаю, что если на предполагаемом NFS-клиенте не
13.2. Настройка клиента DNS
13.2. Настройка клиента DNS Разрешение имен на стороне DNS-клиента выполняет модуль распознавания (резолвер). В ОС Linux он представляет собой набор библиотечных функций. Конфигурационным файлом распознавателя служит /etc/resolv.conf, содержащий список DNS-серверов (от 1 до 3), которым
Повышение цен – альтернативы
Повышение цен – альтернативы Никаких альтернатив! И вот почему. Мало кто из интернет-бизнесменов Рунета верит в действенность высоких цен. Большинство владельцев очень боятся встать на путь их повышения и никогда этого не делали.На самом деле покупатели
Конечные автоматы и альтернативы
Конечные автоматы и альтернативы Я упомянул, что регулярные выражения могут анализироваться с использованием конечного автомата. В большинстве книг по компиляторам а также в большинстве компиляторов, вы обнаружите, что это применяется буквально. Обычно они имеют
Правило 35: Рассмотрите альтернативы виртуальным функциям
Правило 35: Рассмотрите альтернативы виртуальным функциям Предположим, что вы работаете над видеоигрой и проектируете иерархию игровых персонажей. В вашей игре будут использоваться разные варианты сражений, персонажи могут подвергаться ранениям или иначе терять
Народные альтернативы
Народные альтернативы Автор: Киви БердСексуальные преступники-педофилы наряду с международным терроризмом уже давно выступают в качестве главного жупела, которым власти пугают обывателей и оправдывают всякое новое ограничение прав и свобод в Интернете. Но хотя
Онлайновые альтернативы Microsoft PowerPoint Андрей Крупин
Онлайновые альтернативы Microsoft PowerPoint Андрей Крупин В том, что рано или поздно подавляющее число стационарных приложений мигрирует в Сеть, сомневаться не приходится. Уже сейчас набирают популярность cloud-технологии, ведутся разработки «облачных» веб-компьютеров и
Альтернативы частичным функциям
Альтернативы частичным функциям Один из технических приемов, используемый в этой лекции, мог вызвать удивление, - применение частичных функций. Он связан с неустранимой проблемой применения в некоторой спецификации не всюду определенных операций. Но являются ли
Альтернативы депонированию криптоключей
Альтернативы депонированию криптоключей Поддержка депонирования криптоключей — это не единственный способ предоставления государству доступа к информации. Другой подход — это использование слабой криптографии. При этом ключи должны быть достаточно короткими, для
6.4. Альтернативы Internet Explorer
6.4. Альтернативы Internet Explorer Internet Explorer — самый популярный браузер на сегодняшний день, его использует подавляющее большинство пользователей, однако кроме Microsoft есть другие компании, которые занимаются выпуском программ-браузеров. Рассмотрим лишь наиболее известные: Opera,