发 帖  
原厂入驻New

[经验] BTC设备服务器的系统搭建

2019-9-24 09:05:21  107 服务器
分享
0
1. 什么是设备服务器?
________________________________________
设备服务器 是作为上层 应?层服务? 和 设备 通讯的 中间层。实现对 设备的控制 和 应用层消息的处理。
因为该服务?只与设备通信,不直接与?户客户端通信,所以叫做 设备服务?。

2. 开发环境介绍
________________________________________
开发语?:Node.js
通信协议:HTTP、Socket

3. Node.js 实现 Socket 通信
________________________________________
Socket 主要作?是实现客户端与服务端的实时通信保持通话,它不像 ajax 请求,每次对话完成后都会把连接断开。
Socket 通信在 Node.js 中实现其实很简单,没有想象中复杂,基本上只要懂得监听(.on)和推送(.emit)消息,即能实现 Socket 通信。

3.1 概念理解简介
● 服务端:绑定连接事件,在连接事件中管理客户端进程对象(1,把添加到数组中 2,处理理客户端发来的数据)-->开启端?监听请求 。
● 客户端:创建连接服务器用的套接字 --> 连接服务?。
● 综上所述,其实 socket ?作原理理和 http 类似,只是不规定断开连接的时间。
可以把 http 理理解成?个?办?件事情就跑?次连接流程。socket 理解成只跑?次连接流程,只到把所有的事情都做完了才回去。
注意:socket 建?的连接是?久连接。?应?层的 http 协议是 3 次握?协议,是短连接。

3.2 Socket 服务端
“?树云—BTC” 设备服务?的服务端与客户端都创建了对应的模型,较复杂,这里只介绍原理,具体实现不做赘述。
在服务端使?用 Socket,需先引? socket.io 模块,该模块主要是封装了 Node.js 中内置的 net 模块。该模块详细?档可参考 http://nodejs.cn/api/net.html



然?,?个简单的服务端实例代码如下:



上例中实现了 4 步:

1. 建?连接。
2. 添加断开连接监听。
3. 建? clientmessage 监听,当客户端发来该名称的事件时,服务器向除?己外其他的?户?播事件名称为 message 的消息。
4. 向客户端推送事件名称为 message 的消息。

在 “?树云—BTC” 的所有接?中,都运?了如上的事件监听与消息发布的机制,从?实现设备与服务?的实时通信,除此之外,服务端主要应?到的事件有 2 个。



3.3 Socket 客户端
每一个 Socket 客户端模型实例化之后?一对应每?台设备。
?个简单的客户端模型如下:



客户端主要应用到的事件监听有 5 个。



3.4 ?结
________________________________________
以上是设备服务?客户端与服务端的介绍,?此,?个相对简单的设备服务?的搭建就完成了,步骤可以总结为:

客户端步骤:
1. 创建套接字
2. 向服务器发送连接请求(connect)
3. 通信
4. 关闭套接字

服务端步骤:
1. 创建?于监听的套接字(socket)
2. 将套接字绑定到本地地址和端口上(bind)
3. 设置监听
4. 等待客户请求
5. 通信
6. 关闭套接字


只有小组成员才能发言,加入小组>>

8个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表