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

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

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.

Библиотека Ethernet
(Обсуждение Arduino:Библиотеки/Ethernet#disqus_thread)

Функции:

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

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

Синтаксис

server.available()

Параметры

Нет.

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

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

Пример

 1 #include <Ethernet.h>
 2 #include <SPI.h>
 3 
 4 // MAC-адрес Ethernet-модуля:
 5 byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };  
 6 // IP-адрес Ethernet-модуля:
 7 byte ip[] = { 10, 0, 0, 177 };    
 8 // сетевой шлюз роутера:
 9 byte gateway[] = { 10, 0, 0, 1 };
10 // маска подсети:
11 byte subnet[] = { 255, 255, 0, 0 };
12 
13 
14 // настраиваем сервер на прослушку 23-ого порта:
15 EthernetServer server = EthernetServer(23);
16 
17 void setup()
18 {
19   // инициализируем Ethernet-устройство:
20   Ethernet.begin(mac, ip, gateway, subnet);
21 
22   // запускаем прослушку клиентов:
23   server.begin();
24 }
25 
26 void loop()
27 {
28   // если подключился клиент, это значит, что у него будут байты, которые можно будет прочитать:
29   EthernetClient client = server.available();
30   if (client) {
31     // считываем байты, пришедшие от клиента, а затем отправляем их
32     // обратно всем клиентам, которые подключены к серверу:
33     server.write(client.read());
34   }
35 }

См.также

  1. Stream.available()

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