Типы событий и сопоставленные свойства коллбэка, поддержанные TCP/IP и объектами UDP, описаны ниже.
TCP/IP и Типы событий UDP и Свойства Коллбэка
Тип события | Связанные свойства |
---|---|
BytesAvailable | |
Дейтаграмма получена |
|
Ошибка | |
Выведите пустой | |
Таймер | |
Полученное из дейтаграммы событие описано ниже. Для описания других типов событий обратитесь к Event Types and Callback Properties.
Вы не можете использовать значения ASCII, больше, чем 127 символов с fgetl
fgets
, или BytesAvailableFnc
. Функции ограничиваются 127 бинарными символами.
Чтобы получить список опций, можно использовать на функции, нажать клавишу Tab после ввода функции на командной строке MATLAB®. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой функции завершения вкладки "Дополнительно" смотрите Используя Заполнение клавишей Tab для Функций.
Полученное из дейтаграммы событие сразу сгенерировано после того, как полная дейтаграмма получена во входном буфере.
Это событие выполняет функцию обратного вызова, заданную для DatagramReceivedFcn
свойство. Это может быть сгенерировано и для синхронных и для асинхронных операций чтения.
Можно ответить на информацию о событии в функции обратного вызова или в файле записи. Информация о событии, сохраненная в функции обратного вызова, использует два поля: Type
и Data
. Type
поле содержит тип события, в то время как Data
поле содержит привязанную к конкретному событию информацию. Как описано в Создании и Выполнении Функций обратного вызова, эти два поля сопоставлены со структурой, которую вы задаете в заголовке функции обратного вызова. Обратитесь к Отладке: Запись информации к Диску, чтобы узнать о хранении информации о событии в файле записи.
Типы событий и значения для Type
и Data
поля приведены ниже.
TCP/IP и Информация о событии UDP
Тип события | Поле | Значение поля |
---|---|---|
BytesAvailable |
|
|
| дневной год месяца hour:minute:second | |
Дейтаграмма получена |
|
|
| дневной год месяца hour:minute:second | |
| Вектор символов IP-адреса | |
| Количество байтов, полученных как дважды | |
| Номер порта отправителя как дважды | |
Ошибка |
|
|
| дневной год месяца hour:minute:second | |
| Строка ошибки | |
Выведите пустой |
|
|
| дневной год месяца hour:minute:second | |
Таймер |
|
|
| дневной год месяца hour:minute:second |
Data
значения полей описаны ниже.
AbsTime
задан для всех событий и указывает абсолютное время, которое имело место событие. Абсолютное время возвращено с помощью окна MATLAB Command clock
формат.
дневной год месяца hour:minute:second
DatagramAddress
IP-адрес дейтаграммного отправителя.
DatagramLength является длиной дейтаграммы в байтах.
DatagramPort
номер порта отправителя от который порожденная дейтаграмма.
Message
используется ошибочным событием, чтобы хранить описательное сообщение, которое сгенерировано, когда ошибка происходит.
Этот пример расширяет Связь UDP Между Двумя Хостами, чтобы включать полученный коллбэк дейтаграммы. Функцией обратного вызова является instrcallback
, который отображает информацию к командной строке, указывающей, что дейтаграмма была получена.
Следующая команда конфигурирует коллбэк для объекта UDP u2
.
u2.DatagramReceivedFcn = @instrcallback;
Когда дейтаграмма получена, следующее сообщение отображено.
DatagramReceived event occurred at 10:26:20 for the object: UDP-doetom.dhpc. 25 bytes were received from address 192.168.1.12, port 8844.
Вы не можете использовать значения ASCII, больше, чем 127 символов с fgetl
fgets
, или BytesAvailableFnc
. Функции ограничиваются 127 бинарными символами.