我有一个主服务器机器(windows 10),我用它来控制几个使用TCP在节点js中的Raspberry PI。
我想知道发送每个pi主机名的最佳方法是什么(pi-001.local,pi002.local,pi003.local等)到服务器上。
在服务器上运行socket.remoteAddress返回客户端的IP,但我需要主机名
显然,每个pi都可以使用os.hostname()方法解析自己的主机名,但是我需要跟踪并知道每个net.Socket对象在服务器端上关联的主机名。
有比通过socket.write(os.hostname())发送它更好的方法吗?
谢谢!
发布于 2016-08-04 17:30:51
只要TCP服务器使用的DNS服务器知道PI设备的主机名,就可以让TCP服务器反向查找每个连接的socket.remoteAddress。您可以使用dns.reverse()在节点中执行此反向查找。
发布于 2016-08-05 02:23:35
这在SMTP协议中已经做了一些,这是一个用于TCP协商的很好的模型。使用这种方法,当Pi连接到服务器时,首先要做的事情是编写一个
HELO pi00001.local
..。这样,您的服务器总是期望从Pi前端的信息与每一个连接或重新连接。
https://stackoverflow.com/questions/38773104
复制相似问题