Книга: Программирование мобильных устройств на платформе .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

Оглавление книги


Генерация: 0.108. Запросов К БД/Cache: 0 / 0
поделиться
Вверх Вниз