The write функция синхронно записывает данные на удаленный хост, подключенный к tcpclient объект. Сначала укажите данные, затем запишите данные. Функция ожидает, пока заданное количество значений не будет записано на удаленный хост.
В этом примере a tcpclient t объекта уже существует.
% Create a variable called data data = 1:10; % Write the data to the object t write(t, data)
Примечание
Для любой операции чтения или записи тип данных преобразуется в uint8 для передачи данных. Затем он преобразуется обратно в заданный тип данных, если задан другой тип данных.
The 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 Editor с помощью '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