Processing:Библиотеки/Network/Класс Client/readBytes()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску


Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.



readBytes()[1]

Описание

Считывает группу байтов из буфера. Версия безо всяких параметров возвращает массив байтов со всеми данными, которые были в буфере. Это не слишком эффективно, но зато просто. Версия с параметром byteBuffer и быстрее, и менее требовательна к памяти. Она считывает данные из буфера и помещает их в массив байтов, указанный в параметре byteBuffer, и возвращает значение int, отвечающее за количество считанных байтов. Если в буфере больше данных, чем вмещается в массив byteBuffer, будут считаны только те байты, что в него вмещаются.

Синтаксис

client.readBytes()
client.readBytes(max)
client.readBytes(byteBuffer)

Параметры

client      любая переменная типа Client. Тип данных  Client
max         максимальное количество байтов для считывания
byteBuffer  массив байтов, в который нужно сохранить данные

Возвращаемое значение

Тип данных  массив byte[] или int.

Пример

// Этот скетч-пример создает клиента,
// который прослушивает входящие данные
// и помещает присланные данные в буфер byte[].

import processing.net.*; 
Client myClient; 
byte[] byteBuffer = new byte[10];

void setup() { 
  size (300, 100);
  // Подключаемся к локальной машине через порт 10002.
  // Этот скетч-пример не запустится,
  // если вы ранее не запустили сервер на этом порте.
  myClient = new Client(this, "127.0.0.1", 10002); 
} 

void draw() { 
  if (myClient.available() > 0) { 
    background(0);
    // считываем байты:
    int byteCount = myClient.readBytes(byteBuffer); 
    if (byteCount > 0 ) {
      // конвертируем массив байтов в String:
      String myString = new String(byteBuffer);
      // печатаем эту String в консоли:
      println(myString); 
    } 
  }
}

См.также

Внешние ссылки