Socket.bind ignores IP
-
I would like to use LTE for transmitting MQTT messages to TTN.
The WLAN is used in AP mode to locally serve HTML pages to a tablet for configuration and showing status of the device.The LTE class has no function to get the IP address.
First I create LTE, attach, check and connect.
To access TTN via MQTT a socket is opened.
It's opened on the first NIC found.
Works fine if only LTE is started.Now when I start WLAN in AP mode (mode does'nt matter), WLAN registers its NIC, that means it appends to the NIC list.
From WLAN.ifconfig I get the IP 0:0:0:0 in AP mode.
Opening a socket links to the LTE NIC, not the WLAN NIC, although providing the IP address to bind to.Having a look at the source code in modnetwork.c, function mod_network_find_nic I noticed, that IP address is ignored and just the first NIC with AF_INET is returned.
If two NIC's with AF_INET are registered, it's not possible to open a socket on the second.
For selecting the correct NIC the IP address of the LTE is necessary, please add such a function and enhance the code in mod_network_find_nic.
Thanks