> 'Имя сокета IrDA, поиск которого мы хотим осуществить
> m_IrDAServiceName = irdaServiceName
> 'Файл, который мы хотим передать
> m_fileToSend = fileToSend
>End Sub
>'--------------------------------------------------------------
>'Запускает новый поток для осуществления попытки отправки файла
>'--------------------------------------------------------------
>Public Sub LoopAndAttemptIRSendAsync()
> 'Мы находимся в режиме передачи
> setStatus(SendStatus.AttemptingToSend)
> 'Пользователь пока что не отменил выполнение операции
> m_wasSenderStopped = False
> 'Это функция, которую должен запустить на выполнение новый поток
> Dim threadEntryPoint As System.Threading.ThreadStart
> threadEntryPoint = _
> New System.Threading.ThreadStart(AddressOf LoopAndAttemptIRSend)
> '-----------------------------------
> 'Создать новый поток и запустить его
> '-----------------------------------
> Dim newThread As System.Threading.Thread = _
> New System.Threading.Thread(threadEntryPoint)
> newThread.Start()
> 'Вперед!
>End Sub
>'-----------------------------------------------------
>'Входит в цикл и пытается передать файл посредством IR
>'-----------------------------------------------------
>Public Sub LoopAndAttemptIRSend()
> Dim irDASender As System.Net.Sockets.IrDAClient
> Dim streamOutToIrDA As System.IO.Stream
> Dim streamInFromFile As System.IO.Stream
> 'Пользователь пока что не отменил выполнение операции
> m_wasSenderStopped = False
> setStatus(SendStatus.AttemptingToSend)
> '-----------------------------------------------------------------
> 'Непрерывное выполнение цикла, пока не удастся отправить сообщение
> '-----------------------------------------------------------------
> While (True)
> 'Значения всех этих переменных должны быть нулевыми до и после
> 'вызова sendStream(...), если не было сгенерировано исключение!
> irDASender = Nothing
> streamOutToIrDA = Nothing
> streamInFromFile = Nothing
> 'Попытаться передать поток
> Dim bSuccess As Boolean
> Try
> bSuccess = sendStream(mjdescriptionOfLastSendAttempt, _
> streamOutToIrDA, irDASender, streamInFromFile)
> Catch eUnexpected As System.Exception 'Неожиданная ошибка!!!
> setStatus(SendStatus.Finished_Error) 'Уведомить о сбое
> m_descriptionOfLastSendAttempt = _
> "Unexpected error in IR send loop. " + eUnexpected.Message
> '------------------------------------------------
> 'Освободить все распределенные нами ранее ресурсы
> '------------------------------------------------
> If Not (streamOutToIrDA Is Nothing) Then
> Try
> streamOutToIrDA.Close()
> Catch
> 'Поглотить любую ошибку
> End Try