Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB3.DOC
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
94.21 Кб
Скачать

1.8 Утечки памяти

Утечки памяти в Windows 95 и Windows 98 происходят при использовании значений тайм-аута в почтовых ящиках. Если почтовый ящик создается функцией CreateMailslot со значением тайм-аута, большим 0, функция ReadFile вызывает утечку памяти, когда время ожидания истекает и, функция возвращает false. После многократных вызовов функции ReadFile система становится нестабильной и последующие вызовы этой функции, время ожидания которых истекает, начинают возвращать true. Для решения этой проблемы создавайте почтовый ящик со временем ожидания, равным 0 или MAILSLOT_WAIT_FOREVER. Это не позволит приложению использовать механизм тайм-аутов, вызывающий утечки памяти.

2 Задания на выполнение лабораторной работы.

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

Группа У-41: Использование неблокирующего чтения Mail-слота, опрос по таймеру.

Группа У-42: Сервер должен открывать описатель своего почтового ящика в отдельном потоке. Использование блокирующего чтения из слота (MAILSLOT_WAIT_FOREVER).

Варианты заданий

1. Разработать программы обмена файлами любого размера между компьютерами.

2. Разработать программы обмена сообщениями между рабочими станциями.

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

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

5. Разработать программы, которые позволят обеспечить с клиента ввод текста на сервере и его запись в файл.

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

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

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

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

10. Разработать программы, которые, по запросу клиента, обеспечат передачу на него с сервера количество файлов выбранного каталога сервера, перечень имен файлов, их общий объем в байтах.

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

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

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

14. Разработать программы клиента и сервера, которые обеспечат выбор с клиента любого файла на сервере в виде стандартного диалога (OpenDialog).

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

16. Разработать программы обмена сообщениями между рабочими станциями с подтверждением.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]