Arduino:Библиотеки/Ethernet/Класс Server/available()

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

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

Функция available()[1]

Вылавливает клиента, подключенного к серверу и имеющего данные, доступные для считывания. Соединение сохраняется, даже если клиент исчез из поля зрения. Однако соединение всегда можно закрыть вызовом функции client.stop().

Синтаксис

server.available()

Параметры

Нет.

Что возвращает

Объект Client. Если у клиента нет данных, доступных для считывания, то в операторе if (см. пример ниже), этот объект будет рассматриваться как false.

Пример

#include <Ethernet.h>
#include <SPI.h>

// MAC-адрес Ethernet-модуля:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };  
// IP-адрес Ethernet-модуля:
byte ip[] = { 10, 0, 0, 177 };    
// сетевой шлюз роутера:
byte gateway[] = { 10, 0, 0, 1 };
// маска подсети:
byte subnet[] = { 255, 255, 0, 0 };


// настраиваем сервер на прослушку 23-ого порта:
EthernetServer server = EthernetServer(23);

void setup()
{
  // инициализируем Ethernet-устройство:
  Ethernet.begin(mac, ip, gateway, subnet);

  // запускаем прослушку клиентов:
  server.begin();
}

void loop()
{
  // если подключился клиент, это значит, что у него будут байты, которые можно будет прочитать:
  EthernetClient client = server.available();
  if (client) {
    // считываем байты, пришедшие от клиента, а затем отправляем их
    // обратно всем клиентам, которые подключены к серверу:
    server.write(client.read());
  }
}

См.также

  1. Stream.available()

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