■client.connect関数
Clientクラス※1のclient.connect関数は、指定されたIPアドレスとポートに接続します。
戻り値は、成功または失敗を示します。
また、ドメイン名を使用するときにDNSルックアップをサポートします。
以下補足です
※1:Clientクラスは、サーバーに接続してデータを送受信できるクライアントを作成します。クライアントは、すべてのイーサネットクライアントベースのコールの基本クラスです。直接呼び出されるのではなく、それに依存する関数を使用するたびに呼び出されます。
■使用例
Arduino IDEで使用するclient.connect関数の使い方は以下の通りです。
例えば「Arduino Leonardo Ethernet」をPCにUSB接続し、またネットワークに接続されたLANケーブル接続して、ArduinoIDEの「ツール」→「ボード」→「Arduino Ethernet」を選択した状態にします。
最初にEthernetClient関数で、指定されたインターネットIPアドレスとポートに接続できるクライアントを作成します。
client.connect関数によって受信クライアントが接続していると確認した場合は、Serial.println関数によりシリアル接続されたPCに「connected」を送信します。
#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 (;;); } }
図1:プログラム例
■構文
client.connect()
client.connect(ip, port)
client.connect(URL, port)
■パラメータ
ip:クライアントが接続するIPアドレス(4バイトの配列)
URL:クライアントが接続するドメイン名(文字列、例: "arduino.cc")
port:クライアントが接続するポート(int
■戻り値
接続状態を示すint(1、-1、-2、-3、-4)を返します。
接続状態 | 内容 | 戻り値 |
SUCCESS | 成功 | 1 |
TIMED_OUT | タイムアウト | -1 |
INVALID_SERVER | 無効なサーバー | -2 |
TRUNCATED | 不完全 | -3 |
INVALID_RESPONSE | 無効な応答 | -4 |
励みになりますのでよければクリック下さい(^o^)/