Напишите программу для отправки электронной почты получателю, адрес которого задается параметром. Адрес отправителя может быть постоянным. Программа должна поддерживать два формата сообщений: txt и html. Используйте готовые библиотеки для работы с почтой, т.е. в этом задании не предполагается общение с smtp сервером через сокеты напрямую.
Приложите скриншоты полученных сообщений (для обоих форматов).
todo
Разработайте простой почтовый клиент, который отправляет текстовые сообщения электронной почты произвольному получателю. Программа должна соединиться с почтовым сервером, используя протокол SMTP, и передать ему сообщение. Не используйте встроенные методы для отправки почты, которые есть в большинстве современных платформ. Вместо этого реализуйте свое решение на сокетах с передачей сообщений почтовому серверу.
Сделайте скриншоты полученных сообщений.
todo
Модифицируйте ваш SMTP-клиент из предыдущего задания так, чтобы теперь он мог отправлять письма с изображениями (бинарными данными).
Сделайте скриншот, подтверждающий получение почтового сообщения с картинкой.
todo
Многие почтовые серверы используют ssl, что может вызвать трудности при работе с ними из ваших приложений. Можете использовать для тестов smtp сервер СПбГУ: mail.spbu.ru, 25
Напишите программу для запуска команд (или приложений) на удаленном хосте с помощью TCP сокетов.
Например, вы можете с клиента дать команду серверу запустить приложение Калькулятор или Paint (на стороне сервера). Или запустить консольное приложение/утилиту с указанными параметрами. Однако запущенное приложение должно выводить какую-либо информацию на консоль или передавать свой статус после запуска, который должен быть отправлен обратно клиенту. Продемонстрируйте работу вашей программы, приложив скриншот.
Например, удаленно запускается команда ping yandex.ru
. Результат этой команды (запущенной на
сервере) отправляется обратно клиенту.
todo
Реализуйте сервер (веб-службу) и клиента с использованием интерфейса Socket API, которая:
- работает по протоколу UDP
- каждую секунду рассылает широковещательно всем клиентам свое текущее время
- клиент службы выводит на консоль сообщаемое ему время
todo
Рассмотрим короткую,
- Вычислите общее время, необходимое для получения всех объектов при параллельных непостоянных HTTP-соединениях
- Вычислите общее время для постоянных HTTP-соединений. Ожидается ли существенное преимущество по сравнению со случаем непостоянного соединения?
todo
Рассмотрим раздачу файла размером
todo
Рассмотрим клиент-серверную раздачу файла размером
- Предположим, что
$\dfrac{u_s}{N} \le d_{min}$ . При какой схеме общее время раздачи будет составлять$\dfrac{N F}{u_s}$ ? - Предположим, что
$\dfrac{u_s}{N} \ge d_{min}$ . При какой схеме общее время раздачи будет составлять$\dfrac{F}{d_{min}}$ ? - Докажите, что минимальное время раздачи описывается формулой
$\max\left(\dfrac{N F}{u_s}, \dfrac{F}{d_{min}}\right)$ ?
todo