Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

2004 г.

7. Программирование для сетей (новые идеи, принципы и возможности)

Семёнов Ю.А. (ГНЦ ИТЭФ), book.itep.ru

Программирование - искусство индивидуальное, но сетевое программирование имеет много специфических особенностей, требующих выполнения определенных правил. Оно в значительной мере напоминает написание программ реального времени, так как здесь также приходится иметь дело с постоянно изменяющимися обстоятельствами. Заметные отличия возникают из-за работы в разных операционных системах (DOS, UNIX, Windows, OS/2). Существуют задачи, которые даже сегодня лучше реализовать в ОС DOS. К таким задачам следует отнести хронометраж некоторых сетевых операций (к сожалению многозадачные и многопользовательские системы довольно часто вносят ошибки в результаты временных измерений с использованием внутренних машинных часов). Кроме того, в рамках, например, ICMP.DLL нельзя послать очередной пакет до тех пор, пока не истечет таймаут или не будет получен отклик. Это также создает некоторые трудности. Да и библиотека RAWSOCK не у каждого под рукой. Если задача может быть решена в рамках Windows, ничего другого и не нужно (при всех бесчисленных недостатках эта среда наиболее дружественна к пользователю). В крайнем случае, можно без особого труда перенести ваше приложение в Windows NT или OS/2. Если же вы разрабатываете нечто для многопользовательской среды, стоит подумать о работе под ОС UNIX. Новейшие пакеты для работы с соединителями (socket) заметно облегчают работу программисту. Современные соединители (см. http: //www.stardust.com/wsresource/winsock2/ws2ident.html) способны настраиваться на протокольный набор (это не обязательно TCP/IP) и на конкретный протокол. Библиотеки допускают работу как IPv4 так и с IPv6, необходимо лишь корректно задать параметры. Идеология соединителей, пришедшая из UNIX, и унификация библиотек для работы с ними заметно облегчают перенос программ из одной ОС в другую. Сегодня программист, даже не вникая в особенности протокола, за счет использования стандартных библиотек может создать программу любого приложения. Современная среда программирования, особенно в Windows, позволяет сформировать и удобный интерфейс для работы с разрабатываемым приложением. Новейшие версии библиотек для работы с соединителями позволяют запускать и управлять несколькими процессами ввода/вывода одновременно.

Следует иметь в виду, что, например, в системе UNIX все виды Интернет услуг обслуживает демон inetd. Конкретный запрос (telnet, FTP, finger и т.д.) поступает именно к нему, inetd резервирует номер порта и запускает соответствующий процесс, после чего переходит в режим ожидания новых запросов. Такая схема позволяет эффективно и экономно работать со стандартными номерами портов.

Практически любая утилита использует в качестве параметра имя какого-либо узла или ЭВМ. По этой причине исполнение программы начинается с посылки запроса серверу имен (DNS). После получения нужного IP-адреса посылается ARP-запрос. Далее формируется соединитель и посылается запрос, который зависит от типа реализуемого приложения.

В следующих двух статьях рассмотрено программирование для DOS (непосредственная работа с драйвером сетевого интерфейса) и программирование для Windows. Программирование для UNIX во многом сходно с программированием для Windows, так как здесь используется сходная библиотека для работы с соединителями.

Назад: 6.13. Правила безопасности для пользователей
Оглавление: Телекоммуникационные технологии
Вперёд: 7.1. Winsock (для UNIX, Windows-95 и -NT)

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...