■server.print関数
Serverクラス※1のserver.print関数は、サーバーに接続されているすべてのクライアントにデータを送信します。
値を一連の数字として出力します。それぞれの数字はASCII文字です(たとえば、123は3文字 '1'、 '2'、 '3'として送信されます)。
■使用例
Arduino IDEで使用するserver.print関数の使い方は以下の通りです。
例えば「Arduino Leonardo Ethernet」をPCにUSB接続し、またネットワークに接続されたLANケーブル接続して、ArduinoIDEの「ツール」→「ボード」→「Arduino Ethernet」を選択した状態にします。
受信クライアントが接続していると確認した場合は、受信クライアントからバイトを読み込み、server.print関数によりサーバーに接続されているすべてのクライアントにASCII文字として送信します。
#include <Ethernet.h> #include <SPI.h> // シールドのメディアアクセス制御(イーサネットハードウェア)アドレス byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //シールドのIPアドレス byte ip[] = { 10, 0, 0, 177 }; // ルータのゲートウェイアドレス byte gateway[] = { 10, 0, 0, 1 }; // サブネット byte subnet[] = { 255, 255, 0, 0 }; // telnetはデフォルトでポート23になります EthernetServer server = EthernetServer(23); void setup() { // イーサネットデバイスを初期化する Ethernet.begin(mac, ip, gateway, subnet); // クライアントのリスニングを開始する server.begin(); } void loop() { // 受信クライアントが接続している場合は、読み込み可能なバイト数があります。 EthernetClient client = server.available(); if (client) { // 受信クライアントからバイトを読み込んで書き戻します // サーバーに接続されているすべてのクライアントに送信します。 server.print(client.read()); } }
図1:プログラム例
■構文
server.print(data)
server.print(data, BASE)
■パラメータ
data:印刷するデータ(char、byte、int、long、またはstring)
BASE(オプション):数値を印字するベース※2
※2:2進数(BIN 2)、DEC(10進数)、OCT(8進数)、HEX(16進数)
■戻り値
バイト(byte)
オプションですが、print関数は、書き込まれたバイト数を返します。
励みになりますのでよければクリック下さい(^o^)/