当前位置: 首页 > article >正文

esp32 udp 客户端 广播

esp32 udp 客户端 广播


#include "bsp_udpc.h"

// #include "com_config.h"
// #include "com_xqueue.h"

#include "bsp_udpc.h"
#define TAG "bsp_udpc"

#include <string.h>
#include <sys/param.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_wifi.h"
#include "esp_event.h"
#include "esp_log.h"
#include "nvs_flash.h"
#include "esp_netif.h"
// #include "protocol_examples_common.h"

#include "lwip/err.h"
#include "lwip/sockets.h"
#include "lwip/sys.h"
#include <lwip/netdb.h>

#define CONFIG_EXAMPLE_IPV4 1

void udpcSend(uint8_t *buf, int len)
{
    // if (!G.ethConfig.link)
    // {
    //     ESP_LOGI(TAG, "链路还没准备好");
    //     return;
    // }

    // ESP_LOGI(TAG, "创建插座11");
    int Port = 13334;
    char ip[16] = "255.255.255.255";
    struct sockaddr_in dest_addr;
    dest_addr.sin_addr.s_addr = inet_addr(ip);
    dest_addr.sin_family = AF_INET;
    dest_addr.sin_port = htons(Port);
    int sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP);
    if (sock < 0)
    {
        ESP_LOGE(TAG, "无法创建套接字: errno %d", errno);
        return;
    }
    // ESP_LOGI(TAG, "创建插座");

    int err = sendto(sock, buf, len, 0, (struct sockaddr *)&dest_addr, sizeof(dest_addr));
    if (err < 0)
    {
        ESP_LOGE(TAG, "发送失败: errno %d", errno);
    }
    // ESP_LOGI(TAG, "成功发送到 %s:%d", G.udpcConfig.ip, G.udpcConfig.Port);
    close(sock);
}


http://www.kler.cn/a/536202.html

相关文章:

  • 2025年时序数据库发展方向和前景分析
  • MySQL----case的用法
  • 从java角度对比nodejs、fastapi,同步和异步区别
  • OpenAI 实战进阶教程 - 第四节: 结合 Web 服务:构建 Flask API 网关
  • arm 下 多线程访问同一变量 ,使用原子操作 性能差问题
  • Python aiortc API
  • 【Elasticsearch】nested聚合
  • Day67:类的继承
  • 树莓派5添加摄像头 在C++下调用opencv
  • Junit5使用教程(6)--高级特性2
  • HTML学习之CSS三种引入方式
  • 基于JavaWeb开发的java Springboot实现教务管理系统
  • 介绍10个比较优秀好用的Qt相关的开源库
  • Linux后台运行进程
  • 网络安全 | 什么是XSS跨站脚本攻击?
  • 如何利用 Python 爬虫按关键字搜索淘宝商品
  • C++基础系列【5】namespace using
  • JAVA异步的TCP 通讯-客户端
  • 【STM32系列】利用MATLAB配合ARM-DSP库设计FIR数字滤波器(保姆级教程)
  • Shell-变量及注释
  • Qt修仙之路2-1 炼丹初成
  • JS的几种具体异常类型(报错)
  • 半导体物理与器件篇8 光电器件
  • elementui:el-table支持搜索、切换分页多选功能,以及数据回显
  • 如何使用Python的Matplotlib绘制图表?
  • 计算机毕业设计hadoop++hive微博舆情预测 微博舆情分析 微博推荐系统 微博预警系统 微博数据分析可视化大屏 微博情感分析 微博爬虫 知识图谱