Курс: Объектно-ориентированное программирование



Скачать 25.14 Kb.
Дата06.08.2013
Размер25.14 Kb.
ТипДокументы

Факультет Информационных Технологий, 2-й курс, II семестр

Курс: Объектно-ориентированное программирование


Задание №2. Чат

  1. Напишите программу для общения через Internet. Программа должна состоять из двух частей: сервер и клиент. Сервер стартует в качестве отдельного приложения на определенном порту (задано в конфигурации). Клиент в виде приложения на Swing подсоединяется к серверу по имени сервера и номеру порта.

  2. Минимальные возможности чата:

  • каждый участник чата имеет собственный ник, который указывается при присоединению к серверу

  • можно посмотреть список участников чата

  • можно послать сообщение в чат (всем участникам)

  • клиент показывыает все сообщения, которые отправили в чат с момента подключения; список сообщений обновляется в онлайне

  • клиент отображает такие события как: подключение нового человека в чат и уход человека из чата. Сервер должен корректно понимать ситуацию отключения клиента от чата (по таймауту)

  • сервер должен логгировать все события, которые происходят на его стороне (включается/отключается в конфигурационном файле)

  • чат работает через TCP/IP протокол

  1. Необходимо создать 2 версии клиента/сервера. Первый вариант использует XML сообщения. Второй вариант использует сериализацию/десериализацию Java-объектов для посылки/приема сообщений.

  2. Клиент и сервер должны поддерживать стандартный протокол для XML варианта. Это необходимо для возможности общение между клиентами, созданными разными учениками. Протокол описан ниже. Расширения протокола приветствуются, например можно добавить, чтобы пользователь мог выбрать цвет сообщений.

Вначале XML сообщения идут 4 байта (Java int) с его длиной. То есть сначала читаются первые 4 байта и узнается длина оставшегося сообщения (в байтах). Затем считывается само сообщение и далее обрабатывается как XML документ.

  1. Рекомендуется использовать следующие техники:

  • Сервер слушает порт с помощью класса java.net.ServerSocket

  • Клиент подсоединяется к серверу с помощью класса java.net.Socket

  • XML сообщение читать с помощью DOM parser:

DocumentBuilderFactory.newInstance().newDocumentBuilder().
parse()

  • Сериализация/десериализация объекта выполняется через классы ObjectInputStream и ObjectOutputStream


Минимальный протокол взаимодействия для XML сообщений (расширения приветствуются):

  1. Регистрация

    1. Client message



USER_NAME

CHAT_CLIENT_NAME



    1. Server error answer



REASON



    1. Server success answer



UNIQUE_SESSION_ID



  1. Запрос списка пользователей чата

    1. Client message



UNIQUE_SESSION_ID



    1. Server error answer



REASON



    1. Server success answer







USER_1

CHAT_CLIENT_1







USER_N

CHAT_CLIENT_N







  1. Сообщение от клиента серверу

    1. Client message



MESSAGE

UNIQUE_SESSION_ID



    1. Server error answer



REASON



    1. Server success answer





  1. Сообщение от сервера клиенту

    1. Server message



MESSAGE

CHAT_NAME_FROM



  1. Отключение

    1. Client message



UNIQUE_SESSION_ID



    1. Server error answer



REASON



    1. Server success answer





  1. Новый клиент

    1. Server message



USER_NAME



  1. Клиент отключился

    1. Server message



USER_NAME







Похожие:

Курс: Объектно-ориентированное программирование icon13. Основные принципы Объектно-Ориентированного Программирования (ооп) Объектно-Ориентированное Программирование
Объектно-Ориентированное Программирование это методология программирования, которая основана на представлении программы в виде совокупности...
Курс: Объектно-ориентированное программирование iconОбъектно-ориентированное программирование учебное пособие
Объектно-ориентированное программирование: Учебное пособие. Томск: Томский межвузовский центр дистанционного образования, 2000. 145...
Курс: Объектно-ориентированное программирование iconОбъектно-ориентированное программирование

Курс: Объектно-ориентированное программирование iconОбъектно-ориентированное программирование на языке Delphi
Методическое пособие предназначено для изучения основ объектно-ориентированного языка программирования Delphi (ооп) без ориентации...
Курс: Объектно-ориентированное программирование iconВизуальное объектно-ориентированное программирование. Графический интерфейс: форма и управляющие элементы

Курс: Объектно-ориентированное программирование iconСоздание web-сайтов, разработка программного обеспечения, объектно-ориентированное программирование, проектирование баз данных

Курс: Объектно-ориентированное программирование iconИнтегрированная среда разработки языка Visual Basic
...
Курс: Объектно-ориентированное программирование iconОбъектно-ориентированное программирование 2-3 курс, 4-5 семестры обучения
Внутри класса предусмотреть 5 методов: 1-й метод должен вычислять значение максимального элемента в массиве; 2-й метод должен вычислять...
Курс: Объектно-ориентированное программирование iconЗадание к лабораторным работам по курсу “Объектно-ориентированное программирование”
Разработать структуру элементов данных класса в виде динамической структуры данных (динамический массив, список, массив указателей)....
Курс: Объектно-ориентированное программирование iconПрограмма дисциплины Объектно-ориентированное программирование и базы данных для направления
Продолжительность курса составляет 70 аудиторных учебных часа практических занятий и 38 часов самостоятельной работы. Зачетные единицы...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org