available()

描述

取得一個與伺服端連線並且有資料要傳送給伺服端的用戶端。這個用戶端的連線並不會因為 Client 物件解構而中斷,如果要中斷連線可以呼叫 client.stop()

available() 是從 Stream 繼承而來。

語法


server.available()

參數

無參數

回傳

Client 物件:如果沒有連線中的用戶端或是連線中的用戶端都沒有資料可以讀取,這個回傳的 Client 物件等同於 false(參考以下範例)

範例

#include <Ethernet.h>

// 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(NULL, ip, gateway, subnet);

  // 開始監聽是否有連線請求
  server.begin();
}

void loop()
{
  // 如果有連線的請求,將會得到一個 Client 的物件
  EthernetClient client = server.available();
  if (client == true) {
    // 從目前連線的用戶端讀取資料,並且回傳到所有目前與伺服端連線的用戶端
    server.write(client.read());
  }
}

See Also

Stream.available()


函式庫參考主頁面

The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.