如何使用Node.js的socket模块和硬件设备通讯

JavaScript014

如何使用Node.js的socket模块和硬件设备通讯,第1张

node作为一个通讯服务端,同时提供TCP服务(socket)和HTTP服务(socket.io),你只要将和设备的连接以某个唯一的值保持起来就可以。

你在web界面做一个操作的时候,在页面上通过socket.io向服务端emit一个事件并附带数据,然后服务端再根据唯一标识找到对应这个设备的socket连接,向那边写数据,前提是你socket通讯有自己约定的协议,或者使用国标之类的,这样才能识别指令。

1、在B页面中可以使用window.opener获得A页面的window句柄,使用该句柄即可调用A页面中的对象,函数等。例如A页面定义js函数onClosePageB,在B页面可以用window.opener.onClosePageB来进行回调。

2、使用 window.showModalDialog(sURL [, vArguments] [,sFeatures])打开新窗口。

其中vArguments 参数可以用来向对话框传递参数。传递的参数类型不限,包括数组、函数等。对话框通过window.dialogArguments来取得传递进来的参数。

3、如果是支持HTML5的话,建议用本地存储(local storage),它支持一个事件方法window.onstorage,只要其中一个窗口修改了本地存储,其他同源窗口会触发这个事件。

1、一般来说,像这种跨语言的通信都是采用socket,因为对于网络传输,字节流是统一的,但是需要自己有丰富的开发经验去封装这个通信层;

2、目前有很多流行的第三方中间消息件,即通信队列,例如activeMQ,kafka,RabbitMQ等,支持集群和分布式部署,支持订阅模式,也是很好的选择,可以节省开发时间,保证高质量可用。