簡體   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