Az Arduino-hoz a szerver osztály számára dokumentált metódusok
Az ESP8266WiFi könyvtárban az ArduinoWiFiServer
osztály valósítja meg az available
és az összes-kliensre-írási funkciót az Arduino WiFi könyvtár hivatkozásában leírtak szerint. A PageServer példa bemutatja, hogy az available
és az összes-kliensre-írás hogyan működik.
A legtöbb felhasználási esetre az ESP8266WiFi könyvtár alap WiFiServer osztálya megfelelő.
A lentebb leírt módszerek és tulajdonságok az ESP8266-ra vonatkoznak. Az Arduino WiFi könyvtár dokumentációja nem foglalkozik velük. Mielőtt teljes körűen dokumentálnák, olvassa el az alábbi információkat.
Az accept()
metódus egy várakozó ügyfélkapcsolatot ad vissza. Az accept() az Arduino Ethernet könyvtárhoz van dokumentálva.
A 3.1.0 verzió óta elavult: lásd: accept
Az ESP8266WiFi könyvtárban a WiFiServer osztály available
függvénye nem az Arduino WiFi könyvtárhoz dokumentált módon működik. Ugyanúgy működik, mint az accept
.
Kérjük, vegye figyelembe, hogy a WiFiServer
objektumon az write
metódus nincs megvalósítva, és mindig hibát ad vissza. Használja a WiFiServer::accept()
metódusból visszaadott WiFiClient
objektumot az egyes ügyfelekkel való kommunikációhoz. Ha pontosan ugyanazokat a csomagokat kell elküldenie egy sor kliensnek, akkor az alkalmazásnak listát kell vezetnie a csatlakoztatott ügyfelekről, és ciklusban manuálisan kell elküldeni őket.
setNoDelay(nodelay)
Ha a nodelay
true
-ra van állítva, ez a függvény letiltja a Nagle algoritmust.
Ennek az algoritmusnak a célja, hogy csökkentse a hálózaton keresztül küldött kis csomagok TCP/IP-forgalmát azáltal, hogy több kis kimenő üzenetet kombinál, és egyszerre küld el. Az ilyen megközelítés hátránya, hogy hatékonyan késlelteti az egyes üzeneteket, amíg egy elég nagy csomagot nem állítanak össze.
Példa:
server.begin();
server.setNoDelay(true);
Alapértelmezés szerint a nodelay
értéke a globális WiFiClient::getDefaultNoDelay()
függvénytől függ (jelenleg alapértelmezés szerint false).
A wiFiServer.setNoDelay()
hívása azonban felülírja a NoDelay
-t a hívó példány (wiFiServer
) által biztosított összes új WiFiClient
esetében.
bool hasClient()
size_t hasClientData()
bool hasMaxPendingClients()
bool getNoDelay()
virtual size_t write (const uint8_t *buf, size_t size)
uint8_t status()
void close()
void stop()
A fenti függvényekhez még nem áll rendelkezésre dokumentáció.
A kódmintákért kérjük, olvassa el a külön szakaszt, amely kifejezetten a szerverosztályra vonatkozó példákat tartalmaz.
© Copyright 2017, Ivan Grokhotkov Revision b080c507. Fordította: Maczák András