available()
Описание
Если клиент, подключенный к серверу, имеет непрочитанные данные, то функция возвращает описывающий его объект Client. Соединение с клиентом сохраняется даже в случае выхода объекта Client из области видимости; для закрытия соединения необходимо использовать client.stop().
Функция available() является наследником вспомогательного класса Stream.
Синтаксис
server.available();
Параметры
нет
Возвращаемые значения
Объект Client; если клиентов, имеющих непрочитанные данные, нет, то возвращаемый объект будет эквивалентен false (см. пример с оператором if ниже)
Пример
#include <Ethernet.h>
// конфигурация сети. Шлюз и маска подсети - не обязательные параметры.
// MAC-адрес платы расширения (задан аппаратно):
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
//IP-адрес платы расширения:
byte ip[] = { 10, 0, 0, 177 };
//адрес шлюза маршрутизатора:
byte gateway[] = { 10, 0, 0, 1 };
// маска подсети:
byte subnet[] = { 255, 255, 0, 0 };
// для telnet-соединений порт по умолчанию - 23
EthernetServer server = EthernetServer(23);
void setup()
{
// инициализация Ethernet-устройства
Ethernet.begin(mac, ip, gateway, subnet);
// ожидаем соединения клиентов
server.begin();
}
void loop()
{
// при подсоединении клиента появляются непрочитанные байты, доступные для чтения:
EthernetClient client = server.available();
if (client == true) {
// считываем байты, поступившие от клиента, и передаем их обратно
// всем клиентам, подсоединенным к серверу:
server.write(client.read());
}
}

