ВВЕДЕНИЕ
Человек – существо социальное, которое не может существовать вне общества. Ему нужно поддерживать связь с другим людьми, чтобы выжить. Процесс общения присущ не только человеку и развивался с условных сигналов, до современного многообразия языков.
С появлением интернета человечество разрушило множество препятствий, связанных с расстоянием или болезнями, при которых человек не может говорить с помощью голоса. Текстовый чат это – дешевое со всех сторон средство для передачи сообщений. Он не требовательный к ресурсам, имеет понятный интерфейс. Все, что требуется для стабильной работы – наличие сервера.
Текстовые чаты сейчас теряются на фоне популярных мессенджеров, но потребность в них все еще велика. Локальный сетевой чат можно использовать для общения между сотрудниками одной фирмы или компании людей, находящихся в месте, где следует соблюдать тишину
Задача создания приложения для обмена сообщениями является актуальной еще потому, что некоторым людям просто легче воспринимать информацию в печатном виде, нежели в голосовом. Ведь электронный текст можно просто скопировать и вставить куда-либо практически в любой момент.
Цель практической работы заключается в том, чтобы разработать программную реализацию сетевого текстового чата для общения между как минимум двух людей.
АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
Обзор предметной области
Сетевой чат – относительно простая программная структура, которая может быть реализована в двух видах: приватный чат (ТОЛЬКО между двумя пользователями) и групповой (сервер чата и клиенты чата).
Но в этой простоте есть свои недостатки. Чат может быть легко взломан. Пользователи могут досаждать друг другу нецензурными сообщениями, если чат не будет подвержен мониторингу.
Но эти проблемы легко решаются, если у держателя сервера будет доступ к контролю за чатом.
В рассматриваемой предметной области эффективность работы чата можно повысить не только благодаря программной части, но и благодаря деятельности администратора (контроль количества пользователя и их действий). Так же администратор может приглашать пользователей по своему усмотрению, сообщив им IP адрес своего сервера и порт, чтобы те могли подключиться и начать общение.
Для работы программы создается и в дальнейшем используется динамическая библиотека NetworksApi.dll
Постановка задачи
Целью данной работы является создание сетевого текстового чата для обмена сообщениями между пользователями
Необходимо создать программное средство обеспечивающее обмен сообщениями как между двумя и более людьми, так и ТОЛЬКО между двумя людьми (по приватному каналу).
Для достижения цели необходимо выполнить следующие задачи:
— создание программы-сервера чата;
— создание программы-клиента чата;
— создание программы-приватного канала.
Выводы по главе
В наше время информационных технологий и связи через интернет, потребность в общении легко удовлетворить. В основном для этого используются текстовые мессенджеры. Они дают возможность отправлять сообщения с минимумом нагрузки на систему и соединение. Цель моей работы – создать программное средство, обеспечивающее связь между несколькими людьми, которые находятся на расстоянии друг от друга или имеют проблемы с традиционным способом общения (голосом).
АЛГОРИТМИЧЕСКОЕ КОНСТРУИРОВАНИЕ
Структура работы форм
Для разработки программного средства были созданы три формы: программа-клиент, программа-сервер и программа-приватный канал. Для минимизации процесса использовалась подключаемая динамическая библиотека NetworksApi.dll
— Программа-сервер обеспечивает работу группового чата. Так же с помощью нее администратор (держатель сервера) может отправлять сообщения от имени администрации всем, отдельным людям, выгонять пользователей по своему усмотрению. Работа сервера представлена в блок-схеме 2.1:
Блок-схема 2.1 – Структура работы сервера
— Программа-клиент — это простая форма для общения рядовых пользователей между собой, согласованно с правилами, которые устанавливает администратор. Для входа требуется ввести никнейм, IP-адрес сервера и порт. Работа клиента представлена в блок-схеме 2.2:
Блок-схема 2.2 – Структура работы программы — клиента
— Форма приват-канала – самая маленькая и простая на вид форма всей разработки. Она служит для приватного обмена сообщениями ТОЛЬКО между двумя пользователями. Пользователь-субъект – тот, кто подает запрос для общения. Пользователь-объект – тот, кому подается запрос. Работа приват-канальной программы представлена на блок-схеме 2.3:
Блок-схема 2.3 – Структура приват-канальной программы
— Взаимодействие между формами программ-клиентов и программы-сервера осуществляется с помощью присоединения к IP-адресу сервера, используя подключаемую динамическую библиотеку NetworksApi.dll. Взаимодействия сервера и клиента показано на рисунке 2.1.
Рис. 2.1 – Модель взаимодействия программ клиентов и сервера
— Приват-канальная программа является отдельной формой, которая может работать отдельно от всех остальных, для ее работы необходимо только знать свои IP-адрес и порт, а также IP-адрес и порт того, к кому будет вестись подключение. Но ее запуск возможен, как через программу-клиент, так и напрямую, через соответствующий значок. На рисунке 2.2 представлена модель работы приват-канальной работы.
Рис. 2.2 – Модель работы приват-канальной программы
— Администратор как держатель сервера может:
1) Посылать сообщение всем от имени администратора.
2) Послать сообщение одному конкретному пользователю.
3) Выгнать пользователя, если его действия не соответствуют с правилами чата.
4) Реагировать на запросы пользователей.
– Пользователи могут:
1) Осуществлять подключение к чату.
2) Обмениваться текстовыми сообщениями между собой.
3) Посылать запросы администратору (Н: запрос IP другого пользователя, или просьба выгнать его).
4) Запускать приватный канал.
Выводы по главе
Разработанные модели помогают интуитивно понять принципы работы каждой формы, которая будет использована. Кратко: администратор запускает сервер, пользователи подключаются к нему, общаются в групповом чате и способны открывать окно приватного канала, администратор занимается мониторингом всей системы.
ПРОГРАММНОЕ КОНСТРУИРОВАНИЕ