-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
7 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,10 @@ | ||
# SocketMessenger | ||
Клиент-серверное приложение, позволяющее обмениваться сообщениями через интернет. | ||
# Socket Messenger | ||
## Клиент-серверное приложение, позволяющее обмениваться сообщениями через интернет. | ||
|
||
Для работы с подключениями используется библиотека <winsock2.h>. Сервер принимает все входящие в него запросы по подключению и ожидает дальнейших действий. В сервере используется многопоточность. В основном (UI) потоке сервер обрабатывает запросы на подключения и создает для каждого подключения свой поток. Вторичные потоки пользователей обрабатывают запросы конкретной запущенной программы. В случае экстренных завершения первого или второго приложения отключается и возвращает код ошибки. В качестве базы данных используется обычные .txt файлы, хранящиеся на сервере. Все существующие пользователи равны в правах, функция очистки сделана в качестве требования к работе программы. Каждый пользователь обладает правами на изменения только своих данных. С базой данных идет постоянное взаимодействие, при запуске сервера осуществляется считывание данных, при внесении каких либо изменений в основные списки (пользователей или сообщений) файл перезаписывается в только что внесенными изменениями. Локер файла и остальные элементы безопасной работы с многопоточностью отсутствуют, т.к. не предусмотрена большая нагрузка на серверную часть. | ||
--------------------------- | ||
|
||
### Для работы с подключениями используется библиотека <winsock2.h>. | ||
Сервер принимает все входящие в него запросы по подключению и ожидает дальнейших действий. В сервере используется многопоточность. В основном (UI) потоке сервер обрабатывает запросы на подключения и создает для каждого подключения свой поток. Вторичные потоки пользователей обрабатывают запросы конкретной запущенной программы. В случае экстренных завершения первого или второго приложения отключается и возвращает код ошибки. В качестве базы данных используется обычные .txt файлы, хранящиеся на сервере. Все существующие пользователи равны в правах, функция очистки сделана в качестве требования к работе программы. Каждый пользователь обладает правами на изменения только своих данных. С базой данных идет постоянное взаимодействие, при запуске сервера осуществляется считывание данных, при внесении каких либо изменений в основные списки (пользователей или сообщений) файл перезаписывается в только что внесенными изменениями. Локер файла и остальные элементы безопасной работы с многопоточностью отсутствуют, т.к. не предусмотрена большая нагрузка на серверную часть. | ||
|
||
--------------------------- | ||
Для тестирования на другом компьютере необходимо в файле Client.cpp (13 - 15 строки) в качестве айпи указать ваш действующий публичный айпи адрес и также соответствующе настроить роутер для правильного перенаправления запросов по установленному порту. Для локального тестирования достаточно раскомментировать строку localhost в том же файле и убрать действующую. |