Программа для обмена сообщениями в локальной сети



© 2004 Е.В. Калугин, П.В. Графов

Санкт-Петербургский государственный университет информационных технологий, механики и оптики

Проектная документация
Приложение для Linux
Приложение для Windows

Аннотация

Пусть имеется локальная TCP/IP — сеть. Требуется написать программу для системы обмена сообщениями между компьютерами этой сети.

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

Система не требует использования сервера доставки сообщений, так как компьютеры обмениваются информацией напрямую.

Анализ аналогичных проектов с открытыми кодами в интернете показал, что они имеют неудобный интерфейс. Отсутствие проектной документации делает практически невозможной их модификацию.

В локальных сетях используются компьютеры под управлением различных операционных систем. Поэтому программа разрабатывается в двух вариантах — для операционных систем (ОС) Linux и Windows.

При этом программа под ОС Linux проектируется из двух частей — сервера (демона, реализованного в виде конечного автомата) и клиента (графического интерфейса), написанного традиционным путем.

В отличие от традиционных клиент-серверных приложений в данной работе взаимодействие сервера и клиента происходит в рамках одной машины.

При взаимодействии между программами по сети обе стороны являются равноправными.

Для реализации сервера используется SWITCH-технология (http://is.ifmo.ru). Сервер реализован на языке Си, а клиент — на языке Си++ .

Программа под ОС Windows реализована в виде одной компоненты без применения автоматов на языке Си++ .

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