Посмотр рубрик

Client

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()
Количество доступных для чтения байт в буфере, обычно >= 0

peek #

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

Полезные страницы #

Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Прокрутить вверх