【问题标题】:Ubuntu + Python: HTTP Client on wlan0 and TCP server on eth0Ubuntu + Python:wlan0 上的 HTTP 客户端和 eth0 上的 TCP 服务器
【发布时间】:2018-10-04 00:12:36
【问题描述】:

全部,

我来自微控制器世界(纯“C”),这是我第一个使用 python 和嵌入式 linux (Nanopi Neo) 的真正项目。如果问题措辞不当,请致歉。

我正在使用带有 Ubuntu 发行版 (16.04.5 LTS) 的 Nanopi Neo 板。我目前使用两个接口:有线以太网连接 (eth0) 和 wifi 无线连接 (wlan0)。两个接口都可以,我可以看到两个 IP 地址,因为板上有一个 OLED 屏幕。

我想将 TCP 服务器与有线接口 (eth0) 关联,并将 HTTP 客户端与 wifi 接口 (wlan0) 关联。

现场技术人员将连接到 Nanopi 上的服务器,以便设置 wifi 凭据。收到凭据后,现场技术人员将断开有线连接,Nanopi 上的 HTTP 客户端将连接到 wifi 并将信息发送到远程服务器。

我的问题如下:

  1. 如何将 HTTP 客户端与 wlan0 关联,将 TCP 服务器与 eth0 关联?有可能吗?

  2. 如何编写代码以使两个任务(服务器和客户端)同时运行(我猜是在两个单独的线程中)?

我不需要答案(尽管那会很好),但有用的链接。我对“接口”、“客户端/服务器”、“并发”的搜索显示了所有错误的信息/示例......

感谢您的时间和帮助。

Grazie e ciao, 文森佐

======= 编辑 1 =======

我还没有机会尝试,但 StackOverflow 的以下帖子:How to bind socket to an interface in python (socket.SO_BINDTODEVICE missing) 似乎有相关/有用的信息

【问题讨论】:

    标签: python server client ubuntu-14.04 embedded-linux


    【解决方案1】:

    如果 pycurl 适合您,您可能想查看第一个答案:Send http request through specific network interface

    基本上,您将通过您选择的接口发送 GET 请求,因此您将在您选择的接口上拥有 HTTP 客户端。

    我找不到使用“请求”的方法。

    我知道,这充其量只是部分答案。对此感到抱歉。

    【讨论】:

      猜你喜欢
      • 2012-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多