首页 > 解决方案 > Mbed UDPSocket 'recvfrom' 方法在 MbedOS 中调用 'sendto' 方法之前不接收任何数据

问题描述

我正在构建一个物联网设备,它需要在打开时监听传入的 UDP 消息。在调用“sendto”方法之前,我遇到了“recvfrom”方法不接受任何传入消息的问题。但是在调用“sendto”之后,“recvfrom”虽然接受了正确的消息,但返回了用于发送的地址(存储在“bufferAddr”中),尽管它应该返回了发送者的地址。

UDPSocket UDPsock;

SocketAddress sockAddrUDP;
SocketAddress bufferAddr;

UDPsock.open(wifi);
sockAddrUDP.set_ip_address(wifi->get_ip_address());
sockAddrUDP.set_port(8095);
UDPsock.bind(8090);

char connBuffer[32];

UDPsock.sendto(sockAddrUDP,"INIT", 32);
UDPsock.recvfrom(&bufferAddr, connBuffer, sizeof(connBuffer));

'wifi' 是我的 WiFi 接口,工作正常。

标签: csocketsudpiotmbed

解决方案


推荐阅读