Автор24

Информация о работе

Подробнее о работе

Страница работы

Курсовая работа по сетевому программированию. Разработка сетевого приложения «Чат». Мультипоточная реализация сервера, на базе протокола TCP; PTHREAD.

  • 16 страниц
  • 2022 год
  • 2 просмотра
  • 1 покупка
Автор работы

user4499412

200 ₽

Работа будет доступна в твоём личном кабинете после покупки

Гарантия сервиса Автор24

Уникальность не ниже 50%

Фрагменты работ

System.Threading
Класс Thread определяет ряд методов и свойств, которые позволяют управлять потоком и получать информацию о нем. Основные свойства класса:
• Статический метод GetDomain возвращает ссылку на домен приложения
• Статический метод GetDomainID возвращает id домена приложения, в котором выполняется текущий поток
• Статический метод Sleep останавливает поток на определенное количество миллисекунд
• Метод Interrupt прерывает поток, который находится в состоянии WaitSleepJoin
• Метод Join блокирует выполнение вызвавшего его потока до тех пор, пока не завершится поток, для которого был вызван данный метод
• Метод Start запускает поток

Вначале я создал консольный проект сервера, который я назвал ChatServer. В этот проект я добавил два новых класса ClientObject и ServerObject
У объекта ClientObject будет устанавливаться свойство Id, которое будет уникально его идентифицировать, и свойство Stream, хранящее поток для взаимодействия с клиентом. При создании нового объекта в конструкторе будет происходить его добавление в коллекцию подключений класса ServerObject, который я далее создадам:

serverObject.AddConnection(this);

Основные действия происходят в методе Process(), в котором реализован простейший протокол для обмена сообщениями с клиентом. Так, в начале получаем имя подключенного пользователя, а затем в цикле получаем все остальные сообщения. Для трансляции этих сообщений всем остальным клиентам я буду использовать метод BroadcastMessage() класса ServerObject.

Разработка сетевого приложения «Чат». Мультипоточная реализация сервера, на базе протокола TCP; PTHREAD.
Вначале я создал консольный проект сервера, который я назвал ChatServer. В этот проект я добавил два новых класса ClientObject и ServerObject
У объекта ClientObject будет устанавливаться свойство Id, которое будет уникально его идентифицировать, и свойство Stream, хранящее поток для взаимодействия с клиентом. При создании нового объекта в конструкторе будет происходить его добавление в коллекцию подключений класса ServerObject, который я далее создадам:

serverObject.AddConnection(this);

Основные действия происходят в методе Process(), в котором реализован простейший протокол для обмена сообщениями с клиентом. Так, в начале получаем имя подключенного пользователя, а затем в цикле получаем все остальные сообщения. Для трансляции этих сообщений всем остальным клиентам я буду использовать метод BroadcastMessage() класса ServerObject.
Все подключенные клиенты будут храниться в коллекции clients. С помощью методов AddConnection и RemoveConnection мы можем управлять добавлением / удалением объектов из этой коллекции.

1. Wikipedia.org [Электронный_ресурс].–_Режим_доступа: https://ru.wikipedia.org/wiki/Клиент_—_сервер. – (дата обращения 12.05.2022).
2. Wikipedia.org [Электронный_ресурс].–_Режим_доступа: https://ru.wikipedia.org/wiki/Transmission_Control_Protocol. – (дата обращения 12.05.2022).
3. Хабр [Электронный_ресурс] / skillbox. – Режим_доступа: https://habr.com/ru/post/120157/. – (дата обращения 12.05.2022).
4. Хабр [Электронный_ресурс] / skillbox. – Режим_доступа: https://habr.com/ru/post/495698/– (дата обращения 12.05.2022).

Форма заказа новой работы

Не подошла эта работа?

Закажи новую работу, сделанную по твоим требованиям

Оставляя свои контактные данные и нажимая «Заказать Курсовую работу», я соглашаюсь пройти процедуру регистрации на Платформе, принимаю условия Пользовательского соглашения и Политики конфиденциальности в целях заключения соглашения.

Фрагменты работ

System.Threading
Класс Thread определяет ряд методов и свойств, которые позволяют управлять потоком и получать информацию о нем. Основные свойства класса:
• Статический метод GetDomain возвращает ссылку на домен приложения
• Статический метод GetDomainID возвращает id домена приложения, в котором выполняется текущий поток
• Статический метод Sleep останавливает поток на определенное количество миллисекунд
• Метод Interrupt прерывает поток, который находится в состоянии WaitSleepJoin
• Метод Join блокирует выполнение вызвавшего его потока до тех пор, пока не завершится поток, для которого был вызван данный метод
• Метод Start запускает поток

Вначале я создал консольный проект сервера, который я назвал ChatServer. В этот проект я добавил два новых класса ClientObject и ServerObject
У объекта ClientObject будет устанавливаться свойство Id, которое будет уникально его идентифицировать, и свойство Stream, хранящее поток для взаимодействия с клиентом. При создании нового объекта в конструкторе будет происходить его добавление в коллекцию подключений класса ServerObject, который я далее создадам:

serverObject.AddConnection(this);

Основные действия происходят в методе Process(), в котором реализован простейший протокол для обмена сообщениями с клиентом. Так, в начале получаем имя подключенного пользователя, а затем в цикле получаем все остальные сообщения. Для трансляции этих сообщений всем остальным клиентам я буду использовать метод BroadcastMessage() класса ServerObject.

Разработка сетевого приложения «Чат». Мультипоточная реализация сервера, на базе протокола TCP; PTHREAD.
Вначале я создал консольный проект сервера, который я назвал ChatServer. В этот проект я добавил два новых класса ClientObject и ServerObject
У объекта ClientObject будет устанавливаться свойство Id, которое будет уникально его идентифицировать, и свойство Stream, хранящее поток для взаимодействия с клиентом. При создании нового объекта в конструкторе будет происходить его добавление в коллекцию подключений класса ServerObject, который я далее создадам:

serverObject.AddConnection(this);

Основные действия происходят в методе Process(), в котором реализован простейший протокол для обмена сообщениями с клиентом. Так, в начале получаем имя подключенного пользователя, а затем в цикле получаем все остальные сообщения. Для трансляции этих сообщений всем остальным клиентам я буду использовать метод BroadcastMessage() класса ServerObject.
Все подключенные клиенты будут храниться в коллекции clients. С помощью методов AddConnection и RemoveConnection мы можем управлять добавлением / удалением объектов из этой коллекции.

1. Wikipedia.org [Электронный_ресурс].–_Режим_доступа: https://ru.wikipedia.org/wiki/Клиент_—_сервер. – (дата обращения 12.05.2022).
2. Wikipedia.org [Электронный_ресурс].–_Режим_доступа: https://ru.wikipedia.org/wiki/Transmission_Control_Protocol. – (дата обращения 12.05.2022).
3. Хабр [Электронный_ресурс] / skillbox. – Режим_доступа: https://habr.com/ru/post/120157/. – (дата обращения 12.05.2022).
4. Хабр [Электронный_ресурс] / skillbox. – Режим_доступа: https://habr.com/ru/post/495698/– (дата обращения 12.05.2022).

Купить эту работу

Курсовая работа по сетевому программированию. Разработка сетевого приложения «Чат». Мультипоточная реализация сервера, на базе протокола TCP; PTHREAD.

200 ₽

или заказать новую

Лучшие эксперты сервиса ждут твоего задания

от 500 ₽

Гарантии Автор24

Изображения работ

Страница работы
Страница работы
Страница работы

Понравилась эта работа?

или

13 марта 2023 заказчик разместил работу

Выбранный эксперт:

Автор работы
user4499412
4.2
Купить эту работу vs Заказать новую
1 раз Куплено Выполняется индивидуально
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что уровень оригинальности работы составляет не менее 40%
Уникальность Выполняется индивидуально
Сразу в личном кабинете Доступность Срок 1—6 дней
200 ₽ Цена от 500 ₽

5 Похожих работ

Курсовая работа

Создание базы данных для автоматизации процесса управления кадрами на предприятии

Уникальность: от 40%
Доступность: сразу
1000 ₽
Курсовая работа

Оптимизация сайта при помощи методов ИИ для увеличения конверсионного действия

Уникальность: от 40%
Доступность: сразу
300 ₽
Курсовая работа

Сравнение операционных систем Linux, Windows и MacOS

Уникальность: от 40%
Доступность: сразу
400 ₽
Курсовая работа

Разработка программы обработки списка смартфонов

Уникальность: от 40%
Доступность: сразу
350 ₽
Курсовая работа

Решение задач многомерной оптимизации. Методы безусловной оптимизации. Поиск условного экстремума, используя квадратичный штраф. (MathCad, Python).

Уникальность: от 40%
Доступность: сразу
1000 ₽

Отзывы студентов

Отзыв Далиас об авторе user4499412 2018-05-11
Курсовая работа

Очень доброжелательный и компетентный автор. Всегда был на связи, все разъяснил, предоставил несколько вариантов программы. Рекомендую.

Общая оценка 5
Отзыв pocya об авторе user4499412 2016-04-07
Курсовая работа

Спасибо за работу!

Общая оценка 5
Отзыв Марина [email protected] об авторе user4499412 2015-08-25
Курсовая работа

все отлично, спасибо!

Общая оценка 5
Отзыв Татьяна_5085 об авторе user4499412 2016-09-15
Курсовая работа

Все ОК

Общая оценка 5

другие учебные работы по предмету

Готовая работа

Разработка IP-сервера для обеспечения IP-телефонии во внутренних сетях связи

Уникальность: от 40%
Доступность: сразу
2240 ₽
Готовая работа

Обработка и визуализация данных при моделировании электрических машин с использованием программного комплекса «Моделирование в технических устройствах

Уникальность: от 40%
Доступность: сразу
3000 ₽
Готовая работа

Разработка системы для измерения уровня жидкости в резервуарах промышленных масштабов на основе ультразвукового уровнемера.

Уникальность: от 40%
Доступность: сразу
2240 ₽
Готовая работа

Разработка информационной системы поддержки научно-исследовательской деятельности на основе метода Zettelkasten

Уникальность: от 40%
Доступность: сразу
1799 ₽
Готовая работа

Разработка информационной системы учета приёма и оплаты заказов посетителей с использованием СУБД SQL Server и языка программирования С#

Уникальность: от 40%
Доступность: сразу
2200 ₽
Готовая работа

WEB-приложение оформления заказов в кондитерской. Предметом исследования является учет заказов кондитерских изделий в кондитерской.

Уникальность: от 40%
Доступность: сразу
4000 ₽
Готовая работа

WEB-приложение для салона красоты. Предмет исследования – процесс учёта заказов в салон красоты.

Уникальность: от 40%
Доступность: сразу
4000 ₽
Готовая работа

Автоматизация учета и анализа клиентского оборудования для интернет провайдера

Уникальность: от 40%
Доступность: сразу
2800 ₽
Готовая работа

Сравнительный анализ клиентских реализаций импорта пакетов и модулей в экосистеме JavaScript

Уникальность: от 40%
Доступность: сразу
2240 ₽
Готовая работа

Разработка интернет магазина по продаже семян и удобрений на базе joomla 1.7.

Уникальность: от 40%
Доступность: сразу
2000 ₽
Готовая работа

Разработка программного продукта для решений задач на основе метода анализа иерархий

Уникальность: от 40%
Доступность: сразу
500 ₽
Готовая работа

НАХОЖДЕНИЕ СПЕКТРАЛЬНОГО РАДИУСА МАТРИЦЫ МОДИФИЦИРОВАННЫМ СТЕПЕННЫМ МЕТОДОМ

Уникальность: от 40%
Доступность: сразу
3000 ₽