WiFiServer

Last revision:2024/09/11

WiFiServerクラス

WiFiServerクラスは、特定のポートを受信したり、接続しているクライアントにデータを送信したりする、サーバでの呼び出しに利用される。

WiFiServer

説明

WiFiServerは、サーバーのためのベースクラスである。直接呼ばれることはないが、継承した関数を利用する際に実行される。

WiFiServer()

説明

指定したポートに接続するコネクションを待ち受けするサーバーを作成する。

書式

WiFiServer() server(port);

引数

port待ち受けするポート(int)

戻り値

なし。

コード例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#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();

引数

なし。

戻り値

なし。

コード例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#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オブジェクト。どのClientも読み込み可能なデータがない場合は、if文で評価するとfalseになる。

コード例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#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送信したバイト数。この値を読む必要はない。

コード例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#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’の3文字としえ送信される)の数値列として送信する。

書式

server.print(data);

server.print(data, BASE);

引数

data送信するデータ(char、byte、int、long、文字列)
BASE数値を送信する際の基数。10進数の場合DEC、8進数の場合OCT、16進数の場合HEX。

戻り値

byte送信したバイト数。この値を読む必要はない。
server.println()

説明

サーバーに接続しているすべてのクライアントにデータを送信する。数字は、それぞれASCII文字(例えば数字の123は、‘1’、‘2’、‘3’の3文字としえ送信される)の数値列として送信する。

書式

server.println(data);

server.println(data, BASE);

引数

data送信するデータ(char、byte、int、long、文字列)
BASE数値を送信する際の基数。10進数の場合DEC、8進数の場合OCT、16進数の場合HEX。

戻り値

byte送信したバイト数。この値を読む必要はない。

オリジナルのページ

https://docs.arduino.cc/language-reference/en/functions/wifi/server/

inserted by FC2 system