© 2004 Е.В. Калугин, П.В. Графов
Санкт-Петербургский государственный университет информационных технологий, механики и оптики
Проектная документация
Приложение для Linux
Приложение для Windows
Пусть имеется локальная TCP/IP сеть. Требуется написать программу для системы обмена сообщениями между компьютерами этой сети.
Программа должна обладать функциональностью, близкой к известной системе ICQ, которая обеспечивает мгновенный обмен текстовой информацией между различными пользователями в сети.
Система не требует использования сервера доставки сообщений, так как компьютеры обмениваются информацией напрямую.
Анализ аналогичных проектов с открытыми кодами в интернете показал, что они имеют неудобный интерфейс. Отсутствие проектной документации делает практически невозможной их модификацию.
В локальных сетях используются компьютеры под управлением различных операционных систем. Поэтому программа разрабатывается в двух вариантах для операционных систем (ОС) Linux и Windows.
При этом программа под ОС Linux проектируется из двух частей сервера (демона, реализованного в виде конечного автомата) и клиента (графического интерфейса), написанного традиционным путем.
В отличие от традиционных клиент-серверных приложений в данной работе взаимодействие сервера и клиента происходит в рамках одной машины.
При взаимодействии между программами по сети обе стороны являются равноправными.
Для реализации сервера используется SWITCH-технология (http://is.ifmo.ru). Сервер реализован на языке Си, а клиент на языке Си++ .
Программа под ОС Windows реализована в виде одной компоненты без применения автоматов на языке Си++ .
Выполнено сравнение этих реализаций, в результате которого сделан вывод, что отладка программы при использовании автоматного подхода существенно упрощается.