You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the API of node-coap requires you to select whether you want to create a v4 or a v6 socket; this property is inherited from the dgram.socket APIs. However, when connecting via a DNS name, this should be automatically selected based on the DNS records that are found. If I send something to coap://lamp1a/lamp/dimming, and lamp1a returns an AAAA record, the API of node-coap should be able to auto-select a v6 socket. Manually selecting v4/v6 should only be a thing for listening sockets, not for sending sockets.
That said, the NodeJS dgram.createSocket API doesn't seem to comprehend this. I am not sure how this should be solved in NodeJS, especially since the socket.send API allows to supply a hostname. It seems to me that DNS lookups and connection management should be handled outside of the dgram API.
The text was updated successfully, but these errors were encountered:
I guess we should probably add an additional test for DNS names (using the dns module) if the hostname does not match an IP address.
Given that the UDP socket is not smart enough, I think indeed you'll need manual address lookup, and then connect to any found AAAA address, and then fall back to any found A address. We probably need to read some RFC that covers this kind of fallback procedure though.
This supersedes JKRhb/node-red-contrib-coap#15.
Currently, the API of
node-coap
requires you to select whether you want to create a v4 or a v6 socket; this property is inherited from thedgram.socket
APIs. However, when connecting via a DNS name, this should be automatically selected based on the DNS records that are found. If I send something tocoap://lamp1a/lamp/dimming
, andlamp1a
returns an AAAA record, the API ofnode-coap
should be able to auto-select a v6 socket. Manually selecting v4/v6 should only be a thing for listening sockets, not for sending sockets.That said, the NodeJS
dgram.createSocket
API doesn't seem to comprehend this. I am not sure how this should be solved in NodeJS, especially since thesocket.send
API allows to supply a hostname. It seems to me that DNS lookups and connection management should be handled outside of thedgram
API.The text was updated successfully, but these errors were encountered: