Client - интерфейс для работы с сетевым потоком TCP. Наследует класс Stream.
Подключение #
connect #
int connect(IPAddress ip, uint16_t port)int connect(const char *host, uint16_t port)
Подключиться к серверу, вернёт
1 при успехе и 0 при ошибкеconnected #
uint8_t connected()
Вернёт
1, если подключен и 0, если нетstop #
void stop()
Отключиться от сервера. В некоторых реализациях само вызывает
flush, чтобы отправить серверу всё что осталось в буфереОтправка #
write #
size_t write(uint8_t byte)size_t write(const uint8_t *buf, size_t size)
Отправить данные, вернёт количество отправленных. Может отправить не всё!
Примечание: Client наследует Stream и при касте к Stream будет вызываться реализация отправки Stream. Поведение зависит от реализации в ядре, но в общем случае рекомендуется вызывать именно версию Client, например на ESP8266 она сильно быстрее (время в мкс на 1 кБ):
| ESP8266 | ESP32 | |
|---|---|---|
| Client::write | 300 | 3500 |
| Stream::write | 18500 | - |
flush #
void flush()
Ожидать отправки: write пишет во внутренний буфер, фактическая отправка будет позже
Чтение #
available #
int available()
Количество доступных для чтения байт в буфере, обычно
>= 0peek #
int peek()
Получить байт из буфера, не убирая его оттуда.
-1 при отсутствии данныхread #
int read()
Прочитать байт из буфера.
-1 при отсутствии данныхread #
int read(uint8_t *buf, size_t size)
Прочитать несколько байт в свой буфер, вернёт количество прочитанных и
-1 при ошибке.
Примечание: Client наследует Stream и при касте к Stream нужно будет использовать readBytes. Поведение зависит от реализации в ядре, но в общем случае рекомендуется вызывать именно версию Client, например на ESP8266 она сильно быстрее (время в мкс на 1 кБ):
| ESP8266 | ESP32 | |
|---|---|---|
| Client::read | 300 | 1100 |
| Stream::readBytes | 6100 | 1250 |
Полезные страницы #
- Набор GyverKIT – наш большой стартовый набор Arduino, продаётся в России
- Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress
- Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту ([email protected])
- Поддержать автора за работу над уроками