Сетевые сервисы

Со стороны ОС прикладной уровень очень развесистый. Вроде бы мы, говоря б ОС вцелом, не должны говорить о конкретных вебсерверах и так далее. Тем не менее, со стороны ОС есть некий универс. инструмент, который позв. оформ. сетевые службы достаточно быстро на скорую руку. Рассм. очень-очень вкратце, как вообще написать сетевой сервер. Существует такой интерфейс для синхроннго и асинхронного обмена данными. Этот интерфейс называется сокеты. Общая идея сокета состоит вот в чём: у вас есть некий протокол обмена данными, который состоит вот в чём: вы данные записываете в некое отверстие, не сообразуясь с тем, читает кто-то их или не читает. А кто-то другой из этого отверстия читает. В отличие от файлового ИО, обмен с помощью сокета асинхронный. При этом для программ, которые осущ. запись и чтение существует дост. простой API для отсылки и получения. Суть этого изобр. состоит в том, что у этой дырки две стороны. И, вообще говоря, дна сторона этой дырки может быть на одном компьютере, а другая сторона на другом компьютере. Это сетевй сокет. При этом, вне зависимости от того, разнеено это по интернету, или в ФС, программы, которые считывают, они этого не видят. с чем параллель: параллель с нез. сетевых протоколов. ... Как заводится сервер:

Написать такой сервер --- задача нетривиальная. Обратите внимание, что если речь идёт о юних-среде, то ... тут сокетом просто так восп. не получится. Есть сетевая метаслужба inetd, в линуксе в пследнее время исп. xinetd (extended). В общем случае, какова задача этого метадемона: он осуществляет связку между транспортным и прикладным уровнем. Он всё делает, что мы перечисляли. И в тот момент, кгда надо обраб. данные, то он передоверяет это другой программе, котрая написана в классическом unix-стиле, как сетевой фильтр. Как это сделать:

service quake
{
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = demo
        server          = /bin/date
        disable         = no
}

Теперь нам потребуется перезвпусттиь xinetd. Обычн он запущен только тогда, когда есть службы. Для проверки можно сказать chkconfig. Если он не запущен, то нужно сказать service xinetd restart. Теперь мжно сказать telnet localhost quake и увидеть текущую дату.

ALT-specific: по умолчанию всё выключено. Кроме того, по умолчанию в /etc/xinetd.conf указано, что по умолчанию можно подключаться только с локалхоста.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

0

1

1

1

1

MaximByshevskiKonopko, VladimirLysikov