Книга: Программирование мобильных устройств на платформе .NET Compact Framework
Листинг 15.3. Тестовый код, который необходимо поместить в класс формы для тестирования передачи и приема данных посредством механизма IrDA
Листинг 15.3. Тестовый код, который необходимо поместить в класс формы для тестирования передачи и приема данных посредством механизма IrDA
'Имя, которое мы хотим присвоить сокету IrDA
Const myIrDASocketName As String = "IrDaTestFileTransmit"
Private Sub buttonTestFileSend_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles buttonTestFileSend.Click
'Создать простой текстовый файл, который мы хотим передать
Const fileName As String = "myTestSendFile.txt"
Dim textFileStream As System.IO.StreamWriter
textFileStream = System.IO.File.CreateText(fileName)
textFileStream.WriteLine("Today...")
textFileStream.WriteLine("is а nice day")
textFileStream.WriteLine("to go swim")
textFileStream.WriteLine("in the lake")
textFileStream.Close()
Dim irdaFileSender As IrDAFileSend
irdaFileSender = New IrDAFileSend(fileName, myIrDASocketName)
'Имеется 2 режима: 1 - Sync (синхронный), 2 — Async (асинхронный)
'1. Вызвать функцию в синхронном режиме
'и блокировать поток выполнения до тех пор,
'пока файл не будет передан
'1a. Информировать пользователя о том, что мы пытаемся передать данные
Me.Text = "Trying to send..."
'Подождать, пока клиент не будет найден, а затем передать файл
irdaFileSender.LoopAndAttemptIRSend()
'1c. Информировать пользователя о том, что файл передан
MsgBox("File sent!")
Me.Text = "IrDA: Sent!"
'2. Вызвать функцию в асинхронном режиме и поручить
'передачу файла фоновому потоку
'irdaFileSend.LoopAndAttemptIRSendAsync()
'ПРИМЕЧАНИЕ: Если мы вызываем функцию в асинхронном режиме, то должны
'периодически проверять, не завершила ли она выполнение, путем
'вызова метода 'irdaFileSend.Status'
End Sub
Private Sub buttonTestFileReceive_Click(ByVal sender As Object, _
ByVal e As EventArgs) Handles buttonTestFileReceive.Click
'Если файл назначения уже существует, уничтожить его
Const fileName As String = "myTestReceiveFile.txt"
If (System.IO.File.Exists(fileName)) Then
System.IO.File.Delete(fileName)
End If
Dim irdaFileReceiver As IrDAFileReceive
irdaFileReceiver = New IrDAFileReceive(fileName, _
myIrDASocketName)
'Имеется 2 режима: 1 — Sync (синхронный), 2 - Async (асинхронный)
'1. Вызвать функцию в синхронном режиме
' блокировать поток выполнения до тех пор, пока
'файл не будет получен
'1a. Информировать пользователя о том, что мы ожидаем получения файла
Me.Text = "Waiting to receive..."
'1b. Ожидать, пока не будет сделана попытка установления с нами связи
'и передачи файла
irdaFileReceiver.WaitForIRFileDownload()
'1с. Информировать пользователя о том, что мы получили переданный файл
Me.Text = "IrDA: received!"
MsgBox("File received!")
'2. Вызвать функцию в асинхронном режиме и поручить
'получение файла фоновому потоку
'irdaFileReceive.WaitForIRFileDownloadAsync()
'ПРИМЕЧАНИЕ: Если мы вызываем функцию в асинхронном режиме, то должны
'периодически проверять, не завершила ли она выполнение, путем
'вызова метода 'irdaFileReceive.Status'
End Sub
- Листинг 15.1. Простой код файлового ввода-вывода, иллюстрирующий различия между локальной и удаленной передачей данных
- Листинг 15.2. Имитация сбоев при передаче данных для тестирования приложения
- Листинг 15.3. Тестовый код, который необходимо поместить в класс формы для тестирования передачи и приема данных посредством механизма IrDA
- Листинг 15.4. Класс IrDAFileSend
- Листинг 15.5. Класс IrDAFileReceive
- Листинг 15.6. Простая Web-служба
- Листинг 15.7. Вызовы Web-служб с передачей параметров только явным образом
- Листинг 15.8. Вызов Web-служб путем неявной передачи параметров посредством cookie-файлов
- Листинг 15.9. Неэффективная организация диалога с Web-службой, в которой используется множество вызовов
- Листинг 15.10. Группирование запросов в одном вызове Web-службы
- Листинг 15.11. Код для загрузки файла с Web-сервера
- Резервное копирование базы данных InterBase
- Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Резервное копирование многофайловых баз данных
- Листинг 10.1. (simpleid.c) Отображение идентификаторов пользователя и группы
- Восстановление из резервных копий многофайловых баз данных
- Владелец базы данных
- ЧАСТЬ IV. База данных и ее объекты.
- Перевод базы данных InterBase 6.x на 3-й диалект
- Типы данных для работы с датой и временем
- Практическая работа 53. Запуск Access. Работа с объектами базы данных
- Обзор основных причин повреждения базы данных
- Ошибки проектирования базы данных