/python-local-chat

Небольшой консольный чат реализованный на Python

Primary LanguagePython

Консольный чат работающий на одной машине. Возможно запустить несколько копий чата и переписываться между ними.

Приложение работает под Windows и Linux. Требуется Python версии не меньше 3.4.

Архитектура

Чат-клиенты переписываются через сокеты, для потоков приема/передачи сообщений используется тред-пул.

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

Ограничения

Приложение не блокирует файл со списком пиров. Из-за этого, в принципе, возможна ошибка. Если быстро создавать новые клиенты, то они будут записывать в файл параллеельно, и не узнают о существовании друг-друга.