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
объект с помощью адреса, показанного здесь и порт 1045
.
t = tcpclient("172.28.154.231",1045)
t = tcpclient with properties: Address: '172.28.154.231' Port: 1045 NumBytesAvailable: 0 Show all properties, functions
Получите данные с помощью read
функция. Задайте количество байтов, чтобы читать как 30
, для 10 выборок от трех датчиков (температура, давление и влажность). Задайте тип данных как double
.
data = read(t,30,"double");
Изменитесь 1 30 данные в 10 3 данные, чтобы показать одному столбцу каждого для температуры, давления и влажности.
data = reshape(data,[3,10]);
Постройте температуру.
subplot(311); plot(data(:,1));
Постройте давление.
subplot(312); plot(data(:,2));
Постройте влажность.
subplot(313); plot(data(:,3));
Закройте связь между объектом клиента TCP/IP и удаленным хостом путем очистки объекта.
clear t
В этом примере вы читаете страницу из Редактора RFC веб-сайт с помощью объекта TCP/IP.
Создайте объект TCP/IP. Порт 80
стандартный порт для веб-серверов.
t = tcpclient("www.rfc-editor.org",80);
Установите Terminator
свойство объекта TCP/IP.
configureTerminator(t,"LF","CR/LF");
Можно теперь связаться с сервером с помощью writeline
и readline
функции.
Чтобы попросить, чтобы веб-сервер отправил веб-страницу, используйте GET
команда. Можно попросить текстовый файл из Редактора RFC, использование веб-сайта 'ПОЛУЧАЕТ
.(path/filename)
'
writeline(t,"GET /rfc/rfc793.txt");
Сервер получает команду и передает веб-страницу обратно. Вы видите, передали ли какие-либо данные обратно путем рассмотрения NumBytesAvailable
свойство объекта.
t.NumBytesAvailable
Теперь можно начать считывать данные о веб-странице. По умолчанию, readline
читает одну строку за один раз. Можно прочитать строки данных до NumBytesAvailable
значение 0. Обратите внимание на то, что вы не видите представленную веб-страницу; данные о файле HTML прокручивают на экране.
while (t.NumBytesAvailable > 0) A = readline(t) end
Если вы хотите сделать больше коммуникации, можно продолжить читать и записывать данные. Если вы сделаны с объектом, очистите его.
clear t