首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让TCP客户端搜索TCP服务器

让TCP客户端搜索TCP服务器
EN

Stack Overflow用户
提问于 2014-02-27 15:45:53
回答 1查看 423关注 0票数 3

背景

我正在使用SparkCore无线arduino板连接到本地Node.js服务器。服务器包括本地intranet TCP服务器,该本地intranet TCP服务器是编程到SparkCore上的TCP客户端连接到的。

问题

如果我在不同的网络上运行服务器,服务器具有不同的本地IP地址。当我这样做时,我必须重新编程SparkCore arduino,告诉它服务器的新本地IP地址,以连接其TCP客户端。由于种种原因,这并不理想。

问题

是否有一种方法可以让客户端动态搜索TCP服务器,或者让服务器向TCP客户端广播,从而通知客户端本地IP地址供服务器使用,而无需最初对其进行硬编码?我很乐意这样做,不需要在特定端口上迭代一堆if来查看是否建立了连接。话虽如此,如果这是唯一的办法,那就去做吧。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-27 17:01:50

阿迪诺启动的怎么样了?如果它使用DHCP启动,一种方法是提供一个提供node.js服务器地址的customer选项。例如,ntp可以以类似的方式配置自己。这有一个优点,即arduino不需要与node.js服务器位于同一个本地子网上。

另一种(有点恶心的)方法是在您的域中使用一个A记录(比方说nodejs.example.com )。配置本地DNS递归服务器以显式返回此值(我假定您可能有很多不同的部署,并且有很多不同的nodejs服务器)。

第三种可能是通过广播或通过多播UDP发送某种形式的发现包。假设它位于同一个局域网上,那么nodejs服务器就可以回复。显然,您可能需要关注模拟您的nodejs服务器的流氓服务器,因此可能需要添加一些安全性(例如,使用共享机密,向服务器发送一个随机的nonce加上与共享秘密一起进行散列的当前散列,服务器检查散列,并回答答案,nonce,加上使用共享秘密和即时(客户端随后检查的每一个)的答案)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22073406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档