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 значение свойства, равное количеству байтов, доступных во входном буфере.
В этих примерах a 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 с помощью 'GET .(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