Ubuntu + Python:wlan0上的HTTP客户端和eth0上的TCP服务器

时间:2018-09-21 21:29:16

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

全部

我来自微控制器领域(纯“ C”),这是我的第一个使用python和嵌入式linux的真实项目(Nanopi Neo)。如果问题措辞不好,我深表歉意。

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

我想将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)似乎具有相关/有用的信息

1 个答案:

答案 0 :(得分:0)

如果pycurl适合您,您可能需要研究以下第一个答案:Send http request through specific network interface

基本上,您将通过您选择的界面发送GET请求,因此您将在选择的界面上使用HTTP客户端。

我找不到解决“请求”的方法。

我知道这充其量只是部分答案。抱歉。