Giter VIP home page Giter VIP logo

kursach's Introduction

Курсовой проект "Сетевой чат"

Описание проекта

Разработано два приложения для обмена текстовыми сообщениями по сети с помощью консоли (терминала) между двумя и более пользователями.

Первое приложение - сервер чата, ожидает подключения пользователей.

Второе приложение - клиент чата, подключается к серверу чата и осуществляет доставку и получение новых сообщений.

Все сообщения записываются в server.log на сервере и clien.log на клиенте.

Требования к серверу

  • Установка порта для подключения клиентов через файл настроек (для сервера - server_config.json;);
  • Возможность подключиться к серверу в любой момент и присоединиться к чату;
  • Отправка новых сообщений клиентам;
  • Запись всех отправленных через сервер сообщений с указанием имени пользователя и времени отправки.

Требования к клиенту

  • Выбор имени для участия в чате;
  • Прочитать настройки приложения из файла настроек - например, номер порта сервера (для клиента - client_config.json);
  • Подключение к указанному в настройках серверу;
  • Для выхода из чата нужно набрать команду выхода - “/выход”;
  • Каждое сообщение участников должно записываться в текстовый файл - client.log. При каждом запуске приложения файл должен дополняться.

Реализация

Проект состоит из двух модулей: server и client.

Модуль server содержит код для запуска socket-сервера. Он обрабатывает подключения клиентов и пересылает сообщения.

Модуль ckient содержит код для запуска socket-клиента, который подключается к серверу. Клиент может обмениваться с сервером сообщениями.

Так же проект содержит модуль logger. Этот модуль предназначен для записи логов. Он используется обоими модулями server и client.

Проект собирается с помощью gradle.

kursach's People

Contributors

cancerv avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.