Чтение онлайн

на главную - закладки

Жанры

Программирование мобильных устройств на платформе .NET Compact Framework

Салмре Иво

Шрифт:

System.IO.Stream outputStream = null;

System.Net.Sockets.IrDAClient irdaClient = null;

System.IO.Stream irStreamIn = null;

try {

//=========================================================

//Задать и загрузить файл!

//=========================================================

internal WaitForIRFileDownload(ref outputStream,ref irdaClient, ref irStreamIn);

} catch

//Поглотить любые возникающие ошибки

{

setStatus(ReceiveStatus.Done_ErrorOccured);

}

//=============================================

//Освободить все ресурсы

//=============================================

//Закрыть наш входной поток

if (irStreamIn != null) {

try {

irStreamIn.Close;

} catch {} //Поглотить любые возникающие ошибки

}

//Закрытие клиента IrDA

if (irdaClient != null) {

try {

irdaClient.Close;

} catch {} //Поглотить любые возникающие ошибки

}

//Закрыть файл, в который осуществлялась запись

if (outputStream != null) {

try {

outputStream.Close;

} catch {} //Поглотить любые возникающие ошибки

}

//Закрыть прослушивающее устройство, если оно выполняется

if (m_irListener != null) {

//Установить первым, чтобы код, выполняющийся другим потоком,

//был отменен, если он установлен

m_wasListenerStopped = true;

try {

m_irListener.Stop;

} catch {} //Поглотить любые возникающие ошибки

m_irListener = null;

}

 }

 private void internal_WaitForIRFileDownload(

ref System.IO.Stream outputStream,

ref System.Net.Sockets.IrDAClient irdaClient,

ref System.IO.Stream irStreamIn) {

//---------------------------------------------------------

//Открыть входной файл для направления в него потока данных

//---------------------------------------------------------

outputStream = System.IO.File.Open(m_fileNameForDownload, System.IO.FileMode.Create);

//==========================================

//ОБНОВЛЕНИЕ СОСТОЯНИЯ

//==========================================

setStatus(ReceiveStatus.NotDone_WaitingForSender);

//---------------------------------

//Открыть прослушивающее устройство

//---------------------------------

try {

m_wasListenerStopped = false;

m_irListener = new System.Net.Sockets.IrDAListener(m_IrDAServiceName);

m_irListener.Start;

} catch (System.Exception eListener) {

m_errorDuringTransfer = "Error creating listener - " + eListener.Message;

goto exit_sub_with_error;

}

//Проверить, не поступила ли команда отменить выполнение

if (m_wasListenerStopped == true) {

goto exit_sub_with abort;

}

//------------------

//Принять соединение

//------------------

try {

//--------------------------------------------------------------------

//Выполнение будет приостановлено здесь до тех пор, пока устройство не

//начнет передавать информацию, или не будет остановлен объект

//прослушивания, выполняющийся в другом потоке)

//--------------------------------------------------------------------

irdaClient = m_irListener.AcceptIrDAClient;

} catch (System.Exception eClientAccept) {

//Если прослушивание остановлено другим потоком, инициировавшим отмену

//выполнения, будет сгенерировано исключение и управление будет

//передано сюда.

if (m_wasListenerStopped == true) {

goto exit_sub_with_abort;

}

//Если прослушивание не было прекращено,

//то произошло иное исключение. Обработать его.

Поделиться:
Популярные книги

Третий Генерал: Тома I-II

Зот Бакалавр
1. Третий Генерал
Фантастика:
городское фэнтези
попаданцы
аниме
сказочная фантастика
5.00
рейтинг книги
Третий Генерал: Тома I-II

Я еще князь. Книга XX

Дрейк Сириус
20. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я еще князь. Книга XX

Романов. Том 1 и Том 2

Кощеев Владимир
1. Романов
Фантастика:
фэнтези
попаданцы
альтернативная история
5.25
рейтинг книги
Романов. Том 1 и Том 2

Туполев

Бодрихин Николай Георгиевич
1327. Жизнь замечательных людей
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Туполев

Страж Кодекса. Книга IV

Романов Илья Николаевич
4. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга IV

Рассвет русского царства 3

Грехов Тимофей
3. Новая Русь
Фантастика:
историческое фэнтези
альтернативная история
5.00
рейтинг книги
Рассвет русского царства 3

Ефрейтор. Назад в СССР. Книга 2

Гаусс Максим
2. Второй шанс
Фантастика:
попаданцы
альтернативная история
7.00
рейтинг книги
Ефрейтор. Назад в СССР. Книга 2

Промышленникъ

Кулаков Алексей Иванович
3. Александр Агренев
Приключения:
исторические приключения
9.13
рейтинг книги
Промышленникъ

Солнечный флот

Вайс Александр
4. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Солнечный флот

Старшеклассник без клана. Апелляция кибер аутсайдера 2

Афанасьев Семен
2. Старшеклассник без клана. Апелляция аутсайдера
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Старшеклассник без клана. Апелляция кибер аутсайдера 2

Вечный. Книга II

Рокотов Алексей
2. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга II

Неучтенный элемент. Том 12

NikL
12. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 12

Черный Маг Императора 9

Герда Александр
9. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 9

Кукловод

Злобин Михаил
2. О чем молчат могилы
Фантастика:
боевая фантастика
8.50
рейтинг книги
Кукловод