20#include "lwip/sockets.h" 
   22#include "lwip/netdb.h" 
   34#define PORT                CONFIG_EXAMPLE_PORT 
   35#define EXAMPLE_DELAY_MS    1000 
   45static const char *
TAG = 
"sta";
 
   46static const char *
payload = 
"This is a message from client.";
 
   49#define EX_THREAD_NAME          "ex_thread" 
   50#define EX_THREAD_PRIORITY      XF_OSAL_PRIORITY_NORMOL 
   51#define EX_THREAD_STACK_SIZE    (1024 * 4) 
   89    struct sockaddr_in dest_addr = {0};
 
   90    struct timeval timeout = {0};
 
   92    dest_addr.sin_addr.s_addr   = host_ip4.
addr;
 
   93    dest_addr.sin_family        = AF_INET;
 
   94    dest_addr.sin_port          = htons(
PORT);
 
   95    addr_family                 = AF_INET;
 
   96    ip_protocol                 = IPPROTO_IP;
 
   98    sockfd = socket(addr_family, SOCK_STREAM, ip_protocol);
 
  100        XF_LOGE(
TAG, 
"Unable to create socket: errno %d", errno);
 
  104    err = connect(sockfd, (
struct sockaddr *)&dest_addr, 
sizeof(
struct sockaddr_in));
 
  106        XF_LOGE(
TAG, 
"Socket unable to connect: errno %d", errno);
 
  116    setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, &timeout, 
sizeof(timeout));
 
  122        int payload_len = strlen(
payload);
 
  123        err = send(sockfd, 
payload, payload_len, 0);
 
  125            XF_LOGE(
TAG, 
"Error occurred during sending: errno %d", errno);
 
  131        int len = recv(sockfd, rx_buffer, 
sizeof(rx_buffer) - 1, 0);
 
  133            XF_LOGE(
TAG, 
"recvfrom failed: errno %d", errno);
 
  139        XF_LOGI(
TAG, 
"Received %d bytes: \"%s\"", len, rx_buffer);
 
#define EX_THREAD_PRIORITY
 
#define EX_THREAD_STACK_SIZE
 
xf_err_t ex_easy_wifi_sta(void)
 
xf_ip4_addr_t ex_easy_wifi_sta_get_gw_ip(void)
 
#define XF_IP2STR(ipaddr)
 
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_osal_delay_ms(uint32_t ms)
(睡眠)等待超时,以 ms 为单位。
 
static const xf_osal_thread_attr_t s_thread_attr
 
static void _example_thread(void *argument)
 
static xf_osal_thread_t s_thread_hdl
 
static const char * payload
 
#define XF_LOGI(tag, format,...)
 
#define XF_LOGE(tag, format,...)