繁体   English   中英

UDP客户端不在esp32上广播消息

[英]UDP client doesn't broadcast message on esp32

所以我试图通过UDP作为广播从一个ESP32发送到另一个ESP32。 接收者是access_point和服务器,发送者是站和客户端。

我已经读过这个: ESP32 - 带有原生LwIP库的UDP广播/接收器

但它没有帮助。 我知道我的服务器有效,因为我可以通过终端发送包。 但对于客户来说,似乎包裹并没有离开esp。

我的代码:

// CLIENT: 

sockaddr_in _send_addr;
_send_addr.sin_family         = AF_INET,
_send_addr.sin_port           = htons( 5000 );
// also tried local broadcast 192.168.4.255
_send_addr.sin_addr.s_addr    = inet_addr( "255.255.255.255" ); 
_send_addr.sin_len            = sizeof( _send_addr );


int _sock;
_sock = socket( AF_INET, SOCK_DGRAM, IPPROTO_IP );

int broadcast = 1;
setsockopt( _sock, SOL_SOCKET, SO_BROADCAST, &broadcast, sizeof(broadcast) );

void* data; // has some length
size_t len; // len of data
sendto( _sock, data, len, 0, (const struct sockaddr*) &_send_addr,
   sizeof(_send_addr) );

// SERVER:
// server is bound to same port, and to ip "0.0.0.0"
// like I said normally the server shouldn't be the problem, cause he received already

我跳过了支票。

但是一切都成功创建,sendto返回正确的写入字节数。

我真的不知道任何帮助。

所以我发现了问题。 实际上插座没有问题。

我有蓝牙和wifi同时运行。 在esp32上共享一个天线。 看起来BT获得了更高的优先级(我正在运行一个a2dp接收器)。 并且wifi模块无法获取天线。 因此问题。

可以在此处找到以下问题(可能是解决方案):

获取esp32天线的信号量(蓝牙/ wifi双模)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM