名称
EthernetClient::connect()
説明
指定したIPアドレスのポートに接続する。戻り値は成功か失敗かを表す。ドメイン名を使ったときにはDNS検索もサポートする。
書式
int EthernetClient::connect(const char * host, uint16_t port);
int EthernetClient::connect(IPAddress ip, uint16_t port);
引数
host | クライアントが接続するドメイン名(文字列。例えば、"arduino.cc")。 |
ip | クライアントが接続するIPアドレス(4バイトの配列)。 |
port | クライアントが接続するポート。 |
戻り値
接続が成功すれば1、失敗の場合は、0(1以外)を返す。
(訳者註)リファレンスによると、失敗の場合は、TIMED_OUT(-1)、INVALID_SERVER(-2)、TRUNCATED(-3)、INVALID_RESPONSE(-4)を返すとありますが、これは、おそらく、ホスト名指定で名前解決ができなかった場合の内部の戻り値と思います(すべての場合を調査したわけではありませんが)。connect()は、これらの値をまとめて、0を返しているようです。
使用例
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
|
#include <Ethernet.h>
#include <SPI.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 10, 0, 0, 177 };
byte server[] = { 64, 233, 187, 99 }; // Google
EthernetClient client;
void setup()
{
Ethernet.begin(mac, ip);
Serial.begin(9600);
delay(1000);
Serial.println("connecting...");
if (client.connect(server, 80)) {
Serial.println("connected");
client.println("GET /search?q=arduino HTTP/1.0");
client.println();
} else {
Serial.println("connection failed");
}
}
void loop()
{
if (client.available()) {
char c = client.read();
Serial.print(c);
}
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
for(;;)
;
}
}
|
オリジナルのページ
https://www.arduino.cc/reference/en/libraries/ethernet/client.connect/
最終更新日
January 7, 2024