В этом примере запись и чтение данных ASCII с объектом UDP.
Используйте эхо-сервер, чтобы экспериментировать с основной функциональностью объектов UDP, не подключаясь к фактическому устройству. Эхо-сервер - это сервис, который возвращается на адрес и порт отправителя, те же байты, которые он получает от отправителя.
echoudp("on",4040)
Создайте тип байта udpport
объект. Тип датаграммы udpport
объекты не поддерживают связь с данными, оконечными по ASCII.
u = udpport
u = UDPPort with properties: IPAddressVersion: "IPV4" LocalHost: "0.0.0.0" LocalPort: 53816 NumBytesAvailable: 0 Show all properties, functions
Используйте writeline
функция для записи данных ASCII на сервер. Запись строки на эхо-сервер.
writeline(u,"Request Time","localhost",4040)
Функция приостанавливает MATLAB® выполнение до тех пор, пока не будут записаны все данные или не произойдет тайм-аут, заданный Timeout
свойство udpport
объект.
Проверьте терминатор строки ASCII по умолчанию.
u.Terminator
ans = "LF"
The writeline
функция автоматически добавляет терминатора строки linefeed (LF) к "Request Time"
перед записью на сервер, что указывает на конец команды.
Подтвердите успех операции записи путем просмотра NumBytesAvailable
свойство.
u.NumBytesAvailable
ans = 13
Начиная с udpport
объект соединяется с эхо-сервером, данные, которые вы записываете, возвращаются в объект. Считайте строку данных ASCII. The readline
функция считывает данные, пока не достигает терминатора строки, удаляет терминатор строки и возвращает данные.
data = readline(u)
data = "Request Time"
Когда вы закончите с объектом UDP, очистите его и отключите эхо-сервер.
clear u echoudp("off")
echoudp
| readline
| udpport
| writeline