QUERY · ISSUE
unix usocket: External representation of (binary) addresses
rfc
Ok, https://github.com/micropython/micropython/pull/1002 was closed, because approach of requiring usage of getaddrinfo() to pass addresses to socket functions certainly works. But there's opposite problem - how to show to user an address received from a socket function, e.g. accept(), which doesn't have any solution now. I can imagine following choices:
- Give up and return Python-standard tuple representation of addresses, then almost certainly also need to accept them to all other functions. Bunch more extra code, memory required for minimal socket server grows.
- Stay stubborn and make sockaddr a separate object, which will do conversion only on str() or repr(). No extra RAM overhead with this solution, but object will be more or less involved, e.g. standard Python tuple should be emulated.
- Stay stubborn and low-profile - just provide a function to convert binary address to Python tuple.
Thoughts?
CANDIDATE · PULL REQUEST
Make unix usocket connect and bind functions more similar to CPython
Make connect and bind functions use as argument: tuple (host, port) for ipv4, tuple (host,port,flow,scope) for ipv6 and string for unix socket.
current version don't resolve dns names to ip addresses.