■client.flush関数
Clientクラス※1のclient.flush関数は、バッファ内のすべての送信文字が送信されるまで待機します。
flush関数はStreamユーティリティークラスから継承します。
以下補足です
※1:Clientクラスは、サーバーに接続してデータを送受信できるクライアントを作成します。クライアントは、すべてのイーサネットクライアントベースのコールの基本クラスです。直接呼び出されるのではなく、それに依存する関数を使用するたびに呼び出されます。
■使用例
Arduino IDEで使用するclient.flush関数の使い方は以下の通りです。
例えば「Arduino Leonardo Ethernet」をPCにUSB接続し、またネットワークに接続されたLANケーブル接続して、ArduinoIDEの「ツール」→「ボード」→「Arduino Ethernet」を選択した状態にします。
最初にEthernetClient関数で、指定されたインターネットIPアドレスとポートに接続できるクライアントを作成します。
受信クライアントが接続していると確認した場合は、client.println関数により「"GET /search?q=arduino HTTP/1.0"」の送信を開始し、client.flush関数によりバッファ内のすべての送信文字が送信されるまで待機します。
受信クライアントが接続していない場合は、シリアル接続されたPCに「"connection failed"」の文字を送信します。
#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.flush() } 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.flush()
■パラメータ
特に無し。
■戻り値
特に無し。
励みになりますのでよければクリック下さい(^o^)/