我有两个实体希望能够开始沟通:
拥有HTML5应用程序的想法是能够轻松地与大多数商业设备进行通信,如: Windows计算机、安卓手机、Mac计算机和iOS设备。除此之外,我将完全避免使用本机代码。
目前,他们可以使用WebSockets互相交谈,但不知何故,自定义板的IP地址必须从HTML5中得知才能启动通信。
为了做到这一点,我可以想到三个选择:
我找不到实现#3的方法,但在我看来,#2似乎是可行的。#1是我现在正在做的事情,但是WebRTC目前在iOS上不受支持。
那么,还有其他更好的可能性来实现这一沟通吗?
发布于 2016-10-11 21:47:10
您没有提到WINC1500单元是如何连接到网络的,但这大概是在STA模式下(充当wifi站点,而不是成为软件接入点或ad网络的一部分),并且通过现有的接入点向其提供IP详细信息?
通常,我建议设备一旦连接,就应该开始通过特定端口上的常规UDP广播来指示其在网络上的可用性,但我对WebSockets的理解(无可否认是有限的)是它创建了TCP连接。我见过的Bonjour的唯一实现也使用UDP消息传递,这可能就是第三种方法有问题的原因。
你的第二种方法似乎更有可能奏效。本地网络上已知(或可发现) IP上的服务器,该服务器允许Atmel设备注册自身(及其IP地址),还允许其他应用程序(HTML5 WebSockets应用程序)请求该连接信息,以允许它们创建所需的WebSocket TCP连接。
我想这并没有真正回答你关于“有更好的方法吗?”的问题,除了说“我想不出,你的第二种方法对我来说很好……”。抱歉的!听起来是个很有趣的项目,总的来说,
https://stackoverflow.com/questions/39090189
复制相似问题