本篇博客将要介绍如何用实现一个广播,也就是说将客户和服务器建立连接,并且当任意一个客户发送消息的时候将他的消息回发给所有用户,其中,我们将会用微信小程序和网页客户端模拟,要点如下:配置小程序,建立客户端和服务器的链接,并且发送消息,监听服务器回发消息配置网页客户端服务器监听前端发送的消息并且回发服务器优化客户断开连接
微信小程序端需要做的配置有:获取局部网络的地址 .创建一个 连接。.( )监听 连接打开事件.( ) 连接发送数据。.( )监听 接受到服务器的消息事件(1)获取局部网络的地址
获取局部网络的十分简单,打开设置,进入网络,点击属性,在4右侧就能看见地址然后,在的前面加上://尾部加上3001得到可用的:
例如:
(2)建立客户端和服务器的链接,并且发送消息,监听服务器回发消息
在部分设置一个按钮,用来获取信息亲切发送消息:
:
部分建立客户端和服务器的链接,并且发送消息,监听服务器回发消息:
配置完小程序之后我们还需要设计一个网页客户端来模拟客户,方法也是类似的:设置一个文本框,监听获取实例建立连接发送消息监听服务器获取回发消息
服务器这里用的是来配置,当然你也可以用其他后端语言来处理。假设你已经安装好了,那么我们开始吧:(1)创建环境首先新建一个文件夹+,输入输入 空格后将直接拖拽到黑框内(或者 路径)进入文件夹接着输入 建立环境回车之后就能看到目录下生成了文件,环境就生成完毕,接下来就要写服务端的代码了
(2)文件
后端服务器的配置需要我们实现多个客户的连接,我们可以使用一个数组来存储每一个客户与服务器之间的连接,每当一个客户连接服务器,就将其进入数组,实现方法如下:引入模块的构造函数并且实例化监听前端发送的消息回发消息
这样一来,我们能够顺利实现广播的功能,将客户和服务器建立连接,并且当任意一个客户发送消息的时候将他的消息回发给所有用户。
仍然存在一个问题,就是每当客户断开连接,这个客户和服务器之间将无法进行沟通,服务器将会崩溃。这样的情况在实际使用中是普片存在的,如何解决?解决方法很简单,当客户断开连接时,将这个客户的连接从数组中清除即可:
现在一切准备就绪,我们开始检验广播功能:(1) 首先将服务器打开,运行.:
(2) 运行微信小程序
(3)运行网页客户端
(4)输入消息,查看是否接收在小程序的文本框中输入: 这里是微信客户端在网页客户端中输入:,这里是网页客户端可以看到输出了二者的消息内容
(5)将网页端刷新,观察是否正常运行网页端刷新网页端刷新输入:,这里是断开连接的网页客户端可以看到正常