BASH Programming - Введение

Серверная сторона


Предполагается, что сервер - это Linux машина с одним из двух устройств:

  • модемом, включенным как устройство /dev/ttySx

  • модемом, эмулирующим 'isdn4linux', включенным как устройство /dev/ttyIx
  • Наиболее простая настройка, как мне кажется, это 'модем-демон' - пять строчек на perl.

    $ cat /usr/sbin/modemd

    #!/usr/bin/perl select((select(STDOUT), $| = 1)[$[]); select((select(STDIN), $| = 1)[$[]); exec 'cu -s 115200 -l /dev/ttyS1'; die '$0: Cant exec cu: $!\n';

    Модем-демон запускается процессом INETD, если клиент подключается к соответствующему порту, как описано ниже. 'modemd' просто соединяет обработчик сокета с потоками STDIN и STDOUT команды 'cu' и разрешает 'cu' работать с модемом. если у вас нет 'cu', инсталлируйте пакет 'UUCP', 'cu' обычно входит в пакет 'UUCP'.

    Процессу INETD надо дать знать о существовании modemd. Отредактируйте файл настроек, обычно это /etc/inetd.conf :

    # # modem daemon # modem stream tcp nowait root /usr/sbin/tcpd /usr/sbin/modemd /dev/ttyS1

    Чтобы это заработало, нужно добавить в '/etc/services' :

    modem 2006/tcp modemd

    Эта запись связывает символическую ссылку с указанным портом (2006) Номер порта должен быть любым незанятым другим сервисом.

    После этих изменений надо перезапустить inetd, чтобы он перечитал сви настройки.

    $ ps |grep inetd 194 ? S 0:00 /usr/sbin/inetd

    $ kill -HUP 194

    Серверная сторона готова к приему клиентов. Правильность настроек можно проверить:

    $ telnet localhost modem

    Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.

    Сейчас вы подключены к модему. Вы можете ввести команду 'AT' для проверки настройки:

    atz atz OK

    ati1 ati1 Linux ISDN OK

    ^] telnet>quit $

    Вместо использования Perl-скрипта в качестве модемного сервера можно также использовать программу 'mserver'. Ее можно взять на . Если ссылка не работает, воспользуйтесь 'archie' или другим средством поиска. Пока что я не имел удовольствия ставить и использовать mserver.



    Содержание раздела