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.