当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Arduino WiFiNINA - client.peek()用法及代码示例


说明

从文件中读取一个字节而不前进到下一个。也就是说,对peek() 的连续调用将返回相同的值,下一次对read() 的调用也将返回相同的值。

此函数继承自 Stream 类。有关详细信息,请参阅 Stream 类主页。

用法

client.peek()

参数

  • None

返回

  • b:下一个字节或字符
  • -1:如果没有可用

示例

…

#include <SPI.h>
#include <WiFiNINA.h>

#include "arduino_secrets.h"
char ssid[] = SECRET_SSID;      // your network SSID (name)
char pass[] = SECRET_PASS;      // your network password (use for WPA, or use as key for WEP)
int keyIndex = 0;               // your network key Index number (needed only for WEP)

int status = WL_IDLE_STATUS;
char server[] = "www.google.com";       // name address for Google (using DNS)


WiFiClient client;

void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
        ;   }

  if (WiFi.status() == WL_NO_MODULE) {
        Serial.println("Communication with WiFi module failed!");
        while (true);
  }

  while (status != WL_CONNECTED) {
        Serial.print("Attempting to connect to SSID: ");
        Serial.println(ssid);
        status = WiFi.begin(ssid, pass);
        delay(10000);
  }
  Serial.println("Connected to wifi");
  printWifiStatus();

  Serial.println("\nStarting connection to server...");
  IPAddress result;
  int err = WiFi.hostByName(server, result) ;
  if (err == 1) {
        Serial.print("Ip address: ");
        Serial.println(result);
  } else {
        Serial.print("Error code: ");
        Serial.println(err);
  }

   if (client.connect(result, 80)) {
        Serial.println("connected to server");
        client.println("GET /search?q=arduino HTTP/1.1");
        client.println("Host: www.google.com");
        client.println("Connection: close");
        client.println();
  }
}

void loop() {
    int i = 0;
  while (client.available()) {
        char c = client.peek();
        Serial.print("peek: ");
        Serial.println(c);

        Serial.print("calling a second time peek, the char is the same: ");
        c = client.peek();
        Serial.println(c);

        Serial.print("calling the read retry the char and erase from the buffer: ");
        c = client.read();
        Serial.println(c);
        if (i == 2) {
        while (1);
        }
        i++;
  }
}

…

相关用法


注:本文由纯净天空筛选整理自arduino.cc大神的英文原创作品 WiFiNINA - client.peek()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。