WiFiServer
Класс WiFiServer
WiFiServer используется для серверных вызовов, таких как создание сервера, прослушивающего определённый порт, или запись данных подключённым клиентам.
WiFiServer
Описание
WiFiServer — это базовый класс для всех серверных вызовов на основе WiFi. Он не вызывается напрямую, а используется каждый раз, когда вы вызываете функцию, которая на него опирается.
WiFiServer() (конструктор)
Описание
Создаёт сервер, который прослушивает входящие подключения на указанном порту.
Синтаксис
WiFiServer server(port);
Параметры
port: порт для прослушивания (int)
Возвращаемое значение
Нет
Пример
#include <SPI.h>
#include <WiFi.h>
char ssid[] = "myNetwork"; // your network SSID (name)
char pass[] = "myPassword"; // your network password
int status = WL_IDLE_STATUS;
WiFiServer server(80);
void setup() {
// initialize serial:
Serial.begin(9600);
Serial.println("Attempting to connect to WPA network...");
Serial.print("SSID: ");
Serial.println(ssid);
status = WiFi.begin(ssid, pass);
if ( status != WL_CONNECTED) {
Serial.println("Couldn't get a wifi connection");
while(true);
}
else {
server.begin();
Serial.print("Connected to wifi. My address:");
IPAddress myAddress = WiFi.localIP();
Serial.println(myAddress);
}
}
void loop() {
}
server.begin()
Описание
Указывает серверу начать прослушивание входящих подключений.
Синтаксис
server.begin()
Параметры
Нет
Возвращаемое значение
Нет
Пример
#include <SPI.h>
#include <WiFi.h>
char ssid[] = "lamaison"; // your network SSID (name)
char pass[] = "tenantaccess247"; // your network password
int status = WL_IDLE_STATUS;
WiFiServer server(80);
void setup() {
// initialize serial:
Serial.begin(9600);
Serial.println("Attempting to connect to WPA network...");
Serial.print("SSID: ");
Serial.println(ssid);
status = WiFi.begin(ssid, pass);
if ( status != WL_CONNECTED) {
Serial.println("Couldn't get a wifi connection");
while(true);
}
else {
server.begin();
Serial.print("Connected to wifi. My address:");
IPAddress myAddress = WiFi.localIP();
Serial.println(myAddress);
}
}
void loop() {
}
server.available()
Описание
Получает клиент, который подключён к серверу и имеет данные, доступные для чтения. Соединение сохраняется, когда возвращённый объект клиента выходит из области видимости; вы можете закрыть его, вызвав client.stop().
available() наследуется от служебного класса Stream.
Синтаксис
server.available()
Параметры
Нет
Возвращаемое значение
Объект Client; если ни один клиент не имеет данных, доступных для чтения, этот объект будет вычислен как false в условии if.
Пример
#include <SPI.h>
#include <WiFi.h>
char ssid[] = "Network"; // your network SSID (name)
char pass[] = "myPassword"; // your network password
int status = WL_IDLE_STATUS;
WiFiServer server(80);
void setup() {
// initialize serial:
Serial.begin(9600);
Serial.println("Attempting to connect to WPA network...");
Serial.print("SSID: ");
Serial.println(ssid);
status = WiFi.begin(ssid, pass);
if ( status != WL_CONNECTED) {
Serial.println("Couldn't get a wifi connection");
while(true);
}
else {
server.begin();
Serial.print("Connected to wifi. My address:");
IPAddress myAddress = WiFi.localIP();
Serial.println(myAddress);
}
}
void loop() {
// listen for incoming clients
WiFiClient client = server.available();
if (client) {
if (client.connected()) {
Serial.println("Connected to client");
}
// close the connection:
client.stop();
}
}
server.write()
Описание
Записывает данные всем клиентам, подключённым к серверу.
Синтаксис
server.write(data)
Параметры
data: значение для записи (byte или char)
Возвращаемое значение
byte: количество записанных байтов. Чтение этого значения не обязательно.
Пример
#include <SPI.h>
#include <WiFi.h>
char ssid[] = "yourNetwork";
char pass[] = "yourPassword";
int status = WL_IDLE_STATUS;
WiFiServer server(80);
void setup() {
// initialize serial:
Serial.begin(9600);
Serial.println("Attempting to connect to WPA network...");
Serial.print("SSID: ");
Serial.println(ssid);
status = WiFi.begin(ssid, pass);
if ( status != WL_CONNECTED) {
Serial.println("Couldn't get a wifi connection");
while(true);
}
else {
server.begin();
}
}
void loop() {
// listen for incoming clients
WiFiClient client = server.available();
if (client == true) {
// read bytes from the incoming client and write them back
// to any clients connected to the server:
server.write(client.read());
}
}
server.print()
Описание
Выводит данные всем клиентам, подключённым к серверу. Числа выводятся как последовательность цифр, каждая из которых является ASCII-символом (например, число 123 отправляется как три символа „1“, „2“, „3“).
Синтаксис
server.print(data)
server.print(data, BASE)
Параметры
data: данные для вывода (char, byte, int, long или string)
BASE (необязательный): система счисления для вывода чисел: BIN для двоичной (основание 2), DEC для десятичной (основание 10), OCT для восьмеричной (основание 8), HEX для шестнадцатеричной (основание 16).
Возвращаемое значение
byte: print() возвращает количество записанных байтов. Чтение этого значения не обязательно.
server.println()
Описание
Выводит данные, за которыми следует символ новой строки, всем клиентам, подключённым к серверу. Числа выводятся как последовательность цифр, каждая из которых является ASCII-символом (например, число 123 отправляется как три символа „1“, „2“, „3“).
Синтаксис
server.println()
server.println(data)
server.println(data, BASE)
Параметры
data (необязательный): данные для вывода (char, byte, int, long или string)
BASE (необязательный): система счисления для вывода чисел: DEC для десятичной (основание 10), OCT для восьмеричной (основание 8), HEX для шестнадцатеричной (основание 16).
Возвращаемое значение
byte: println() возвращает количество записанных байтов. Чтение этого значения не обязательно.