首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在嵌入式设备上通过UDP接收数据

如何在嵌入式设备上通过UDP接收数据
EN

Stack Overflow用户
提问于 2020-11-22 02:16:11
回答 1查看 94关注 0票数 0

目前,我正在为一个Mbed项目编写一个UDP客户端脚本。我在B-L475E-IOT01A开发板上工作,希望从另一个网络设备接收数据。

发送端(在另一台设备上)工作。我在我的电脑上用python脚本测试了它。

我遇到了以下问题:我可以建立到网络的连接,并且可以使用open()函数初始化UDP套接字。我的问题是,如果我尝试将套接字bind()到端口或套接字地址,我会得到nsapi_error_t代码-3002,这意味着“不支持的功能”。代码如下:

代码语言:javascript
运行
复制
#include "UDPSocket.h"
#include "mbed.h"

const char SSID[] = "";
const char password[] = "";
const uint16_t Port = 37020;

UDPSocket socket;
WiFiInterface *wifi;
BufferedSerial pc(USBTX, USBRX, 115200);

int main() {
  pc.set_format(8, SerialBase::None, 1);

  wifi = WiFiInterface::get_default_instance();
  if (!wifi) {
    printf("ERROR: No WiFiInterface found.\n");
    return -1;
  }

  printf("\nConnecting to %s...\n", SSID);
  int ret = wifi->connect(SSID, password, NSAPI_SECURITY_WPA2);
  if (ret != 0) {
    printf("\nConnection error: %d\n", ret);
    return -1;
  }

  SocketAddress a;
  wifi->get_ip_address(&a);
  printf("IP: %s\n", a.get_ip_address());

  int returnable = 1;
  while (returnable != 0) {
    returnable = socket.open(wifi);
    printf("%d\r\n", returnable);
    wait_us(500000);
  }

  returnable = 1;
  while (returnable != 0) {
    returnable = socket.bind(Port);
    printf("%d\r\n", returnable);
    wait_us(500000);
  }

  while (1) {
    char message[500];
    int n = socket.recv(&message, sizeof(message));
    printf("%d\r\n", n);
    printf("%s", message);
    wait_us(100000);
  }
  wifi->disconnect();

  printf("\nDone\n");
}

出于安全考虑,我删除了wifi数据。下面是输出:

代码语言:javascript
运行
复制
Connecting to ...
IP: 192.168.178.25
0
-3002

我的问题是,为什么我不能将我的主板绑定到一个特定的端口。你有什么想法吗?提前谢谢你。

EN

Stack Overflow用户

发布于 2020-11-22 09:30:13

MBED将socket.bind声明为bind (const Host &me)。参数不是端口号,而是Host实例。将其更改为

代码语言:javascript
运行
复制
sock.bind(Host(IpAddr(), port));
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64946495

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档