× К оглавлению На главную Об авторе

Дата и время публикации:

Дата и время публикации:

Протокол String Type Handle Protocol(STHP), далее по тексту протокол STHP, реализует некоторый обмен сообщениями, содержащие один из нескольких типов строк, передаваемых между процессами по клиент-серверной схеме, запущенных локально на одном компьютере (узле) и не требующие наличие интерфейса физического уровня типа Ethernet, как показано на рисунке 1.1.

Рисунок 1.1

Из которой следует, что доступ к локальной вычислительной сети не требуется, т.к. в данной реализации обмена между процессами используется клиент-серверная схема с использованием доменного протокола Unix, который ещё называют Unix Soket.

Процесс с числовым идентификатором PID 1204 реализует простой интефейс для ввода строки с консоли с поддержкой эхо-режима для отображения вводимых символов. Запускается как отдельная программа с единственным процессом функции main(), далее по тексту клиент.

Клиент, после того как пользователь ввел строку символов c нажатием клавиши Enter, формируется запрос ASC(s), где единственный аргумент s является передаваемой строкой символов. После чего, он входит в режим ожидания ответа от сервера.

На сервере, после создания соединения c клиентом, формируется клиентский процесс с PID 1205, принимающий строку и выясняющий тип строки DEC/CHARS/EMPTY, где DEC указывает, что данная строка содержит числовой тип, CHARS указывает, что эта символьная строка, EMPTY обозначает, что на сервер была отправлена пустая строка. Клиентский процесс c PID 1205 отправляет тип строки (v) и должен быть завершен после прочтения клиентом ответа REPLY(v), где v — ответ клиента DEC, CHARS или EMPTY.

Клиент, получив ответ и распечатав её на консоль закрывает соединение с сервером и возвращается в ожидание ввода символов с консоли. Все операции по отправки запроса, а так же получения клиентом ответа должны выводиться на консоль. При этом, так как сервер может быть запущен в другой виртуальной консоли, то не имеет смысла в этой демонстрационной версии запускать его в фоновом режиме.

Скриншоты приложений реализующих протокол STHP, показаны на рисунке 1.2

Рисунок 1.2

На которых показана реализация протокола STHP, состоящая из трех терминальных окон. В первых двух окнах, которые находятся наверху, запущена клиентская часть протокола, программа sthp_cli, а внизу серверная часть, программа sthp_serv. При этом оба клиента озадачивают сервер на предмет типа строки, а именно что она содержит — последовательность чисел в десятичном отсчете, набор символов(в т.ч. и числа) или она пустая. Затем он ждет ответа от сервера, который принимает строку, вычисляет её длину в байтах и конечно же тип. Затем отправляет этот тип клиенту в виде ответа.

Версия 1.0 Листинги файлов с исходным кодом: Makefile, sthp_client.с, sthp_serv.c, sthp.h, sthp.c приводяться ниже, в отдельных файлах и распространяются под лицензией GNU General Public License version 2 2013.04.04   Makefile    0.75 Кбайт 2013.04.04   sthp.h     2.06 Кбайт 2013.04.04   sthp.c     6.01 Кбайт 2013.04.04   sthp_cli.c    2.98 Кбайт 2013.04.04   sthp_serv.c   4.92 Кбайт

Версия 1.1 Выше перечисленные файлы исходного кода программы-клиента sthp_client и программы-сервера sthp_serv, были собраны с помощью Automakе в пакет файлов исходного кода, реализуемого дистрибутивом в виде архивного файла, который был создан с использованием материалов из статьи Как использовать Build System GNU(Automake) 2013.04.04   sthp-1.1.tar.gz   107.19 Кбайт  

Версия 1.2 Приведен пример использования файла руководства man-страницы) 2013.04.04   sthp-1.2.tar.gz   117.83 Кбайт