Функция write синхронно записывает данные к удаленному хосту, соединенному с объектом tcpclient. Сначала задайте данные, затем запишите данные. Функция ожидает, пока конкретное количество значений не записано в удаленный хост.
В этом примере объект tcpclient уже существует t.
% Create a variable called data data = 1:10; % Write the data to the object t write(t, data)
Для любой операции чтения или операции записи, тип данных преобразован в uint8 для передачи данных. Это затем преобразовано назад в любой тип данных, который вы устанавливаете, если вы задали другой тип данных.
Функция read синхронно считывает данные из удаленного хоста, соединенного с объектом tcpclient, и возвращает данные. Существует три опции чтения:
Считайте все доступные байты (никакие аргументы)
Опционально задайте количество байтов, чтобы читать
Опционально задайте тип данных
Если вы не задаете размер, значение по умолчанию читало, использует значение свойства BytesAvailable, которое равно числам байтов, доступных во входном буфере.
В этих примерах объект tcpclient уже существует t.
% Read all bytes available. read(t) % Specify the number of bytes to read, 5 in this case. read(t, 5) % Specify the number of bytes to read, 10, and the data type, double. read(t, 10, 'double')
Для любой операции чтения или операции записи, тип данных преобразован в uint8 для передачи данных. Это затем преобразовано назад в любой тип данных, который вы устанавливаете, если вы задали другой тип данных.
Одно из первичного использования коммуникации TCP/IP должно получить данные из сервера. Этот пример показывает, как получить и отобразить данные на графике из удаленной метеостанции.
IP-адресом в этом примере не является рабочий IP-адрес. Пример показывает, как соединиться с удаленным сервером. Необходимо заменить адресом, показанным здесь с IP-адресом или именем хоста сервера, с которым вы хотите связаться.
Создайте объект tcpclient с помощью Address, показанного здесь и Port 1045.
t = tcpclient('172.28.154.231', 1045)
t =
tcpclient with properties:
Address: '172.28.154.231'
Port: 1045
Timeout: 10
BytesAvailable: 0Смотрите перечисленный выше шаг примечания 1 об использовании допустимого адреса.
Получите данные с помощью функции read. Задайте количество байтов, чтобы читать как 30, для 10 выборок от 3 датчиков (температура, давление и влажность). Задайте тип данных как double.
data = read(t, 30, 'double');
Изменитесь 1x30 данные в 10x3 данные, чтобы показать одному столбцу каждого для температуры, давления и влажности.
data = reshape(data, [3, 10]);
Постройте температуру.
subplot(311); plot(data(:, 1));
Постройте давление.
subplot(312); plot(data(:, 2));
Постройте влажность.
subplot(313); plot(data(:, 3));
Закройте связь между объектом клиента TCP/IP и удаленным хостом путем очистки объекта.
clear t
Этот пример показывает, как считать и записать данные uint8 из сервера эха.
Создайте объект tcpclient с помощью локального хоста в Port 7.
t = tcpclient('localhost', 7)
t =
tcpclient with properties:
Address: 'localhost'
Port: 7
Timeout: 10
BytesAvailable: 0Присвойте 10 байтов данных uint8 к переменной data.
data = uint8(1:10) data = 1 2 3 4 5 6 7 8 9 10
Проверяйте данные.
whos data Name Size Bytes Class Attributes data 1x10 10 uint8
Запишите данные в echoserver.
write(t, data)
Проверяйте, что данные были записаны с помощью свойства BytesAvailable.
t.BytesAvailable
ans =
10Считайте данные из сервера.
read(t) ans = 1 2 3 4 5 6 7 8 9 10
Закройте связь путем очистки объекта.
clear t