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