最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

nodejs结合socket.io实现websocket通信功能

来源:动视网 责编:小采 时间:2020-11-27 20:05:59
文档

nodejs结合socket.io实现websocket通信功能

nodejs结合socket.io实现websocket通信功能:本文主要介绍了nodejs结合socket.io实现websocket通信功能的方法,结合实例形式分析了nodejs结合socket.io实现websocket通信的具体步骤与相关操作技巧,需要的朋友可以参考下,希望能帮助到大家。因为项目中有需要实时获取后台数据的场景,之前一直是使用htt
推荐度:
导读nodejs结合socket.io实现websocket通信功能:本文主要介绍了nodejs结合socket.io实现websocket通信功能的方法,结合实例形式分析了nodejs结合socket.io实现websocket通信的具体步骤与相关操作技巧,需要的朋友可以参考下,希望能帮助到大家。因为项目中有需要实时获取后台数据的场景,之前一直是使用htt


本文主要介绍了nodejs结合socket.io实现websocket通信功能的方法,结合实例形式分析了nodejs结合socket.io实现websocket通信的具体步骤与相关操作技巧,需要的朋友可以参考下,希望能帮助到大家。

因为项目中有需要实时获取后台数据的场景,之前一直是使用http心跳请求的方法。因为websocket与此模式相比有很大的性能提升,而且可以提高实时性,所以对websocket作了一些研究。这里是使用nodejs+socket.io来实现的。

达成目标

将原来心跳请求后台数据的方式,修改为通过socket连接后台统一推送的方式。后台的数据由别的进程写入文件或写入redis,这里实现的是读取文件的方式。

前期准备

安装nodejs(略)

服务器端

新建一个项目目录,这里是sockettest
进入sockettest目录,安装express模块和socketio模块

npm install --save express@4.10.2
npm install --save socket.io

新建package.json文件,在其中写入如下内容:

新建index.html,用于作为默认的访问显示页面,因为这里不会用到它,内容随意;
新建trends.js文件,在其中写入内容:

输出到标准输出 console.log('listening on sockettest.com:3000'); });

新建data目录,并在下面新建两个文件trends与coins,用于存放socket服务器将要读取的数据。
新建public目录,在其中新建一个文件index.html,文件内容如下:

代码部署

刚才之所以要建两个index.html文件,是为了能够方便地在既有的web项目中使用nodejs提供的socket服务。这样我们把public/index.html可以部署在别的服务器中,比如nginx或tomcat之类,然后在根目下启动socket的服务器,为其提供socket服务。
首先在刚才的项目根目录下执行

并保持终端运行,然后再把项目部署在nginx里,通过chrome下访问nginx提供的web服务:

http://hostname/public/index.html

打开开发者模式,就能在console里看到每隔一秒便会收到来自node服务器的socket推送消息了。通过修改data目录下的两个文件,可以看到写入到文件的数据也会实时地推送到客户端这里来。

文档

nodejs结合socket.io实现websocket通信功能

nodejs结合socket.io实现websocket通信功能:本文主要介绍了nodejs结合socket.io实现websocket通信功能的方法,结合实例形式分析了nodejs结合socket.io实现websocket通信的具体步骤与相关操作技巧,需要的朋友可以参考下,希望能帮助到大家。因为项目中有需要实时获取后台数据的场景,之前一直是使用htt
推荐度:
标签: js 通信 web
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top