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 объект с помощью локального хоста в Port7 .
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