■client.available関数
Clientクラス※1のclient.available関数は、読み込み可能なバイト数(接続先のサーバーによってクライアントに書き込まれたデータの量)を返します。
client.available関数はStreamユーティリティー・クラスから継承します。
以下補足です
※1:Clientクラスは、サーバーに接続してデータを送受信できるクライアントを作成します。クライアントは、すべてのイーサネットクライアントベースのコールの基本クラスです。直接呼び出されるのではなく、それに依存する関数を使用するたびに呼び出されます。
■使用例
Arduino IDEで使用するclient.available関数の使い方は以下の通りです。
例えば「Arduino Leonardo Ethernet」をPCにUSB接続し、またネットワークに接続されたLANケーブル接続して、ArduinoIDEの「ツール」→「ボード」→「Arduino Ethernet」を選択した状態にします。
最初にEthernetClient関数で、指定されたインターネットIPアドレスとポートに接続できるクライアントを作成します。
受信クライアントが接続していると確認した場合は、受信クライアントからバイトを読み込み、Serial.println関数によりシリアル接続されたPCに受信データを送信します。
loop関数中では、client.available関数によって読み込み可能なデータを確認した後、client.read関数によってデータを読み込み、シリアル接続されたPCにその内容を送信します。

#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.available()
■パラメータ
特に無し
■戻り値
利用可能なバイト数。
励みになりますのでよければクリック下さい(^o^)/
