23#include "lwip/sockets.h"
25#include "lwip/netdb.h"
40#define HTTP_BUFFER_SIZE (1024 * 2)
50static const char *
TAG =
"sta";
54#define EX_THREAD_NAME "ex_thread"
55#define EX_THREAD_PRIORITY XF_OSAL_PRIORITY_NORMOL
56#define EX_THREAD_STACK_SIZE (1024 * 4)
94 struct sockaddr_in server_addr;
96 char *hostname =
"example.com";
97 char *request =
"GET / HTTP/1.1\r\nHost: example.com\r\n\r\n";
100 if ((host = gethostbyname(hostname)) == NULL) {
106 if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
112 server_addr.sin_family = AF_INET;
113 server_addr.sin_port = htons(80);
114 server_addr.sin_addr.s_addr = *(
long *)(host->h_addr);
117 if (connect(sockfd, (
struct sockaddr *)&server_addr,
sizeof(server_addr)) < 0) {
124 send(sockfd, request, strlen(request), 0);
128 if (bytes_received < 0) {
#define EX_THREAD_PRIORITY
#define EX_THREAD_STACK_SIZE
xf_err_t ex_easy_wifi_sta(void)
void * xf_netif_t
xfusion netif 句柄。
#define XF_IP2STR(ipaddr)
xf_err_t xf_netif_get_dns_info(xf_netif_t netif_hdl, xf_netif_dns_type_t type, xf_netif_dns_info_t *dns)
从指定 netif 句柄获取的 DNS 服务端信息。
xf_err_t xf_osal_thread_delete(xf_osal_thread_t thread)
终止线程的执行。
xf_osal_thread_t xf_osal_thread_create(xf_osal_thread_func_t func, void *argument, const xf_osal_thread_attr_t *attr)
创建一个线程并将其添加到活动线程中。
void * xf_osal_thread_t
线程句柄。
xf_err_t xf_wifi_sta_get_netif(xf_netif_t *p_netif_hdl)
获取 STA 的 netif 句柄.
static const xf_osal_thread_attr_t s_thread_attr
static void _example_thread(void *argument)
static char s_http_buf[HTTP_BUFFER_SIZE]
static xf_osal_thread_t s_thread_hdl
union _xf_ip_addr::@10 u_addr
#define XF_LOGI(tag, format,...)
#define XF_LOGE(tag, format,...)