Создайте объект UDP

Объект UDP

Вы создаете объект UDP с функцией udp. udp не требует имени удаленного хоста как входной параметр. Однако, если вы используете объект связаться с определенным инструментом, необходимо задать удаленный хост и номер порта.

Примечание

Несмотря на то, что UDP является связью не сохраняющей состояние, открытие объекта UDP с недопустимым именем хоста сгенерирует ошибку.

Как описано в Configuring Properties Во время Создания объекта, можно также сконфигурировать значения свойств во время создания объекта, такие как свойство LocalPort, если вы будете использовать объект считать данные из инструмента.

Например, чтобы создать объект UDP, сопоставленный с удаленным хостом 127.0.0.1, удаленный порт 4012, и локальный порт 3533,

u = udp('127.0.0.1', 4012, 'LocalPort', 3533);

Объект UDP u теперь существует в рабочей области MATLAB®. Можно отобразить класс u с командой whos.

whos u
  Name      Size                   Bytes  Class

  u         1x1                      632  udp object

Grand total is 12 elements using 632 bytes

Когда объект UDP создается, следующие свойства являются присвоенными значениями на основе значений, предоставленных функции upd. Эти свойства общего назначения предоставляют информацию об объекте UDP.

UDP описательные свойства

PropertyName

Описание

Name

Задайте описательное имя для объекта UDP.

RemoteHost

Задайте удаленный хост.

RemotePort

Задайте удаленный серверный порт для связи.

Type

Укажите на тип объекта.

LocalPort

Задайте локальный серверный порт, если вы ожидаете получать данные из инструмента.

Примечание

Чтобы получить список опций, можно использовать на функции, нажать клавишу Tab после ввода функции на командной строке MATLAB. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой функции завершения вкладки "Дополнительно" смотрите Используя Заполнение клавишей Tab для Функций.

Можно отобразить значения этих свойств для u с функцией get.

u.Name
ans = 
    UDP-127.0.0.1
u.RemoteHost
ans = 
    127.0.0.1
u.RemotePort
ans = 
    4012
u.Type
ans = 
    udp
u.LocalPort'
ans = 
    3533

UDP Отображение объектов

Объект UDP предоставляет вам удобное отображение, которое обобщает важную настройку и информацию состояния. Можно вызвать сводные данные отображения эти три пути:

  • Введите имя переменной объекта UDP в командной строке.

  • Исключите точку с запятой при создании объекта UDP.

  • Исключите точку с запятой при конфигурировании свойств с помощью записи через точку.

Можно также отобразить итоговую информацию через браузер Рабочей области путем щелчка правой кнопкой по инструментальному объекту и выбора Display Summary из контекстного меню.

Сводные данные отображения для объекта UDP u приведены ниже.

UDP Object : UDP-127.0.0.1

Communication Settings 
   RemotePort:         4012
   RemoteHost:         127.0.0.1
   Terminator:         'LF'

Communication State 
   Status:             closed
   RecordStatus:       off

Read/Write State  
   TransferStatus:     idle
   BytesAvailable:     0
   ValuesReceived:     0
   ValuesSent:         0

Включите совместное использование порта по UDP

Порты UDP могут быть совместно использованы другими приложениями, чтобы позволить, чтобы несколько приложений слушали дейтаграммы UDP на том порте. Можно связать объект UDP с определенным номером LocalPort, и в другом приложении связывают сокет UDP с тем же самым локальным номером порта, таким образом, оба могут получить широковещательные данные о UDP.

Это допускает способность слушать широковещательные сообщения UDP на том же локальном номере порта и в MATLAB и в других приложениях. Можно включить и отключить эту возможность с новым свойством объекта UDP под названием EnablePortSharing.

Свойство EnablePortSharing позволяет вам управлять совместным использованием порта UDP, и возможными значениями является on и off. Значением по умолчанию является off.

Значения EnablePortSharingРезультат
'on'

Позволяет другим сокетам UDP связывать с объектом UDP LocalPort.

'off' (значение по умолчанию)

Препятствует тому, чтобы другие сокеты UDP связали с объектом UDP LocalPort.

Обратите внимание на то, что необходимо установить это свойство прежде, чем вызвать fopen на объекте UDP, или вы получите ошибку.

Этот пример показывает создание объекта UDP, присваивая локальный порт, включая совместное использование порта, затем открывая связь.

u = udp();
u.LocalPort = 5000;
u.EnablePortSharing = 'on';
fopen(u) 

Можно теперь сделать операции чтения и операции записи, и другие приложения могут получить доступ к порту, поскольку порт, совместно использующий, включен.