临时WiFi切换后无法重新连接到TCP合作伙伴

时间:2020-01-10 13:51:07

标签: c sockets tcp wifi esp32

我有以下设置:

  • 同一WiFi中的笔记本电脑+ ESP32板
  • 板上的TCP侦听器,笔记本电脑上已连接的TCP客户端
  • 我正在笔记本电脑上执行python脚本,该脚本通过TCP将一些参数发送到主板上
  • 当参数到达时,开发板将回答“确定,brb”并关闭插座
  • 开发板可以完成工作(如果重要的话:从旧的WiFi断开以连接到其他WiFi,然后通过TCP连接到第二个开发板进行一些测量)
  • 开发板再次加入旧的WiFi,并尝试通过新的套接字重新连接到笔记本电脑以发送回测量数据,因此这次开发板是客户端,笔记本电脑是监听器

要准备在笔记本电脑上进行连接,请在“确定,brb”消息到达时关闭旧插座(sock.close()),然后等待新连接(new_sock, addr = sock_server.accept())接收东西({ {1}})。

但是,当尝试这样做时,我得到errno 113(没有通往主机的路由)。 我99%确信python脚本不是问题,它之前曾与其他开发板一起工作过。因此,这是ESP32草图的重要部分:

new_sock.recv()

我感觉自己做错了什么,但是我真的无法动弹,而且已经尝试了好几天。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果有人遇到相同的问题-事实证明它已连接到Windows防火墙等。当我从树莓派(Raspberry Pie)而不是笔记本电脑上尝试时,它执行得很好。