МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


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


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) - В простых моделях рынка спрос и предложение обычно полагают зависящими только от текущей цены на товар.

Задания для самостоятельного выполнения





Разработать приложение на основе TCP-соединения, позволяющее осуществлять взаимодействие клиента и сервера по совместному решению задач обработки информации. Приложение должно располагать возможностью передачи и модифицирования получаемых (передаваемых) данных.

1. Разработать приложение-калькулятор для совершения простейших арифметических операций. Исходные параметры и тип операции (+,-,/,*) вводятся на клиентской части и передаются серверу. Сервер возвращает клиенту результат операции.

2. Разработать приложение-чат. На сервере и клиенте отображаются предаваемые сообщения и время их отправления.

3. Разработать приложение-генератор случайных чисел. На клиентской части вводится целое положительное число N и предается серверу, а тот в свою очередь возвращает клиенту массив случайных чисел от 1 до N.

4. Разработать приложение-поисковик слов. На сервере хранится определенный текст. На клиентской части вводится слово для поиска и передается серверу, а тот в свою очередь осуществляет поиск этого слова в тексте и возвращает клиенту все предложения, в которых встречается это слово.

5. Разработать приложение-счетчик букв. На клиентской части вводится строка и передается серверу, а тот в свою очередь осуществляет подсчет гласных и согласных букв и возвращает этот результат клиенту.

6. Разработать приложение-определитель матрицы. На клиентской части вводится исходная матрица произвольного порядка и передается серверу, а тот в свою очередь вычисляет определитель этой матрицы и возвращает результат клиенту.

7. Разработать приложение для нахождения обратной матрицы размером 3*3. Исходная матрица вводится на клиентской части и передается серверу, а тот в свою очередь возвращает клиенту обратную матрицу.

8. Разработать приложение для определения счастливчика лотереи. На сервере хранятся номера билетов. На каждом билете имеются 10 случайных чисел от 1 до 100. На клиентской части вводятся 10 чисел от 1 до 100 и сервер должен определить номер билета, в котором имеется больше всего совпадений с введенными числами.

9. Разработать приложение для определения призовых мест на соревнования по прыжкам в длину. На сервере хранятся фамилии участников соревнований их идентификационные номера. На клиентской части вводятся результаты прыжков по каждому идентификационному номеру, а сервер возвращает фамилии спортсменов, занявших 1, 2 и 3 места.

10. Разработать приложение для определения суммы подоходного налога. На клиентской части вводятся заработные платы сотрудников предприятия и передаются северу, а тот в свою очередь возвращает суммы налога. Причем для з/п меньше 100.000 руб. применяется ставка налога 5%, для з/п от 100.000 до 500.000 – ставка 10%, для з/п больше 500.000 – ставка 15%.

11. Разработать приложение для поиска квартиры для покупки. Стоимости квартир и их адреса хранятся на сервере. На клиентской части вводится предельная сумма для покупки квартиры, а сервер возвращает клиенту адреса всех квартир с такой или меньшей стоимостью.

12. Разработайте приложение, серверная часть которого в матрице произвольного порядка определяла бы индекс строки с минимальным элементом и индекс столбца с максимальным элементом этой матрицы и возвращала этот результат клиенту.

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

 

Задание №2 Разработка консольных приложений с использованием сокетов (разработка UDP соединений)

Цель: Разработка клиент-серверных приложений с использованием протокола UDP

Протокол UDP

UDP представляет собой альтернативу ТСР, требующую меньших накладных расходов. В отличие от ТСР, UDP имеет следующие характеристики:

  • Ненадежный (unreliable). UDP не имеет ни встроенного механизма обнаружения ошибок, ни средств повторной пересылки поврежденных или потерянных данных.
  • Без установления логического соединения (connectionless). Перед пересылкой данных UDP не устанавливает логического соединения. Информация пересылается в предположении, что принимающая сторона ее ожидает.
  • Основанный на сообщениях (message-oriented). UDP позволяет приложениям пересылать информацию в виде сообщений, передаваемых посредством дейтаграмм (datagram), которые являются единицами передачи данных в UDP. Приложение должно самостоятельно распределить данные по отдельным дейтаграммам.

Для некоторых приложений UDP подходит лучше, чем ТСР. Например, в протоколе NTP (Network Time Protocol — протокол передачи времени) потерянный пакет с инфомацией о текущем времени к моменту повторной передачи содержал бы неверные данные. Сетевая файловая система (Network File System, NFS) более эффективно обеспечивает надежность на уровне приложения, и потому использует UDP.

Как и в ТСР, в UDP применяется схема адресации с использованием портов, позволяющая нескольким приложениям параллельно принимать и посылать данные. В то же время порты UDP отличаются от портов ТСР. Например, одно приложение может отзываться на номер 512 порта UDP, а при этом другой независимый сервис может обрабатывать порт 512, относящийся к ТСР.

Программирование с использованием UDP имеет несколько важных областей применения. Для правильного использования необходимо знать основные характеристики этого протокола.

UDP хорошо применим для приложений, которые обмениваются данными в виде отдельных сообщений, т. е. один запрос от клиента порождает один ответ от сервера. Для UDP очень хорошо подходят данные, зависящие от времени. По сравнению с ТСР протокол UDP требует значительно меньших накладных расходов, зато вынуждает разработчика самостоятельно обеспечивать требуемую надежность. Например, если клиент не получает ответа на свои запросы, что вполне вероятно при использовании UDP, возможно, в программе следует предусмотреть повторение запроса либо вывод сообщения, предупреждающего о ненадежной связи.





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.