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() возвращает количество записанных байтов. Чтение этого значения не обязательно.