uIP 1.0
|
Этот пример показывает, как клиент протокола HTTP может загружать web-страницы с web-серверов. Подробнее...
Файлы | |
файл | webclient.h |
Header file for the HTTP client. | |
файл | webclient.c |
Реализация клиента HTTP. | |
Функции | |
void | webclient_datahandler (char *data, u16_t len) |
Функция обратного вызова (callback), которая будет вызвана из кода web-клиента, когда приняты данные HTTP. | |
void | webclient_connected (void) |
Функция обратного вызова (callback), которая вызывается из кода web-клиента, когда с web-сервером установлено HTTP-соединение. | |
void | webclient_timedout (void) |
Функция обратного вызова (callback), которая вызывается из кода web-клиента, если истек таймаут HTTP-соединения с web-сервером. | |
void | webclient_aborted (void) |
Функция обратного вызова (callback), которая вызывается из кода web-клиента, если HTTP-соединение с web-сервером было оборвано (aborted) на стороне web-сервера. | |
void | webclient_closed (void) |
Функция обратного вызова (callback), которая вызывается из кода web-клиента, если HTTP-соединение с web-сервером было закрыто. | |
void | webclient_init (void) |
Инициализирует модуль web-клиента. | |
unsigned char | webclient_get (char *host, u16_t port, char *file) |
Открывает соединение HTTP с web-сервером и запрашивает файл с использованием метода GET. | |
void | webclient_close (void) |
Закрывает открытое в настоящий момент соединение HTTP. | |
char * | webclient_mimetype (void) |
Получает тип MIME текущего потока данных HTTP. | |
char * | webclient_filename (void) |
Получает имя файла текущего потока данных HTTP. | |
char * | webclient_hostname (void) |
Получение имени хоста текущего потока данных HTTP. | |
unsigned short | webclient_port (void) |
Получение номера порта текущего потока данных HTTP. |
Этот пример показывает, как клиент протокола HTTP может загружать web-страницы с web-серверов.
Он требует реализации нескольких функций обратного вызова (callback) в модуле, который задействует код: webclient_datahandler(), webclient_connected(), webclient_timedout(), webclient_aborted(), webclient_closed().
void webclient_aborted | ( | void | ) |
Функция обратного вызова (callback), которая вызывается из кода web-клиента, если HTTP-соединение с web-сервером было оборвано (aborted) на стороне web-сервера.
Эта функция должна быть реализована в модуле, который использует код web-клиента.
void webclient_closed | ( | void | ) |
Функция обратного вызова (callback), которая вызывается из кода web-клиента, если HTTP-соединение с web-сервером было закрыто.
Эта функция должна быть реализована в модуле, который использует код web-клиента.
void webclient_connected | ( | void | ) |
Функция обратного вызова (callback), которая вызывается из кода web-клиента, когда с web-сервером установлено HTTP-соединение.
Эта функция должна быть реализована в модуле, который использует код web-клиента.
void webclient_datahandler | ( | char * | data, |
u16_t | len | ||
) |
Функция обратного вызова (callback), которая будет вызвана из кода web-клиента, когда приняты данные HTTP.
Эта функция должна быть реализована в модуле, который использует код web-клиента. Функция вызывается из модуля web-клиента, когда приняты данные HTTP. Функция не вызывается, когда приняты заголовки HTTP, её вызов делается только для актуальных данных.
data | Указатель на данные, которые были приняты. |
len | Длина принятых данных. |
char * webclient_filename | ( | void | ) |
Получает имя файла текущего потока данных HTTP.
Имя файла запроса HTTP может быть изменено web-сервером, и таким образом оно может быть не то же самое, что и имя, которое было указано в оригинальном запросе GET при вызове webclient_get(). Эта функция используется для получения текущего имени файла.
См. определение в файле webclient.c строка 94
unsigned char webclient_get | ( | char * | host, |
u16_t | port, | ||
char * | file | ||
) |
Открывает соединение HTTP с web-сервером и запрашивает файл с использованием метода GET.
Эта функция открывает соединение HTTP к указанному web-серверу и запрашивает указанный файл с использованием метода GET. Когда соединение HTTP установлено, будет вызвана функция обратного вызова webclient_connected(), и когда данные поступят, будет вызвана функция обратного вызова webclient_datahandler().
Функция обратного вызова webclient_timedout() будет вызвана, если web-сервер не отвечает, и функция обратного вызова webclient_aborted(), если соединение HTTP было оборвано (aborted) со стороны web-сервера.
Когда запрос HTTP был завершен и соединение HTTP закрыто, будет вызвана функция обратного вызова webclient_closed().
host | Указатель на строку, содержащую либо имя хоста, либо цифровой адрес IP в форме строки с точками (напримера 192.168.23.1). |
port | Номер порта, к которому будет произведено соединение, с порядком следования байт хоста. |
file | Указатель на имя файла, получаемого по протоколу HTTP. |
0 | если имя хоста не было найдено в кэше, или если не может быть установлено соединение TCP. |
1 | если было инициировано соединение. |
См. определение в файле webclient.c строка 141
Перекрестные ссылки htons(), resolv_lookup() и uip_connect().
char * webclient_hostname | ( | void | ) |
Получение имени хоста текущего потока данных HTTP.
Имя хоста запроса HTTP может быть изменено web-сервером, и таким образом оно может быть не то же самое, что и имя, которое было указано в оригинальном запросе GET при вызове webclient_get(). Эта функция используется для получения текущего имени хоста.
См. определение в файле webclient.c строка 100
char * webclient_mimetype | ( | void | ) |
Получает тип MIME текущего потока данных HTTP.
См. определение в файле webclient.c строка 88
unsigned short webclient_port | ( | void | ) |
Получение номера порта текущего потока данных HTTP.
Номер порта запроса HTTP может быть изменен web-сервером, и таким образом он может быть не тот же самый, что и порт, который был указан в оригинальном запросе GET при вызове webclient_get(). Эта функция используется для получения текущего номера порта.
См. определение в файле webclient.c строка 106
void webclient_timedout | ( | void | ) |
Функция обратного вызова (callback), которая вызывается из кода web-клиента, если истек таймаут HTTP-соединения с web-сервером.
Эта функция должна быть реализована в модуле, который использует код web-клиента.