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()); } }