nodejs实现前后端websocket通信+心跳示例

这篇具有很好参考价值的文章主要介绍了nodejs实现前后端websocket通信+心跳示例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

nodejs后端代码  server.js

//需要安装ws模块  npm install ws  
const WebSocket = require("ws")
const port = 8085

const ws = new WebSocket.Server({port})

ws.on("connection", (socket) => {
    socket.on("message",(message) => {
        const data = JSON.parse(message.toString('utf-8'))
        if(data.type === 'heart') {
            socket.send("收到心跳")
        } else {
            socket.send(`你发来的类型是${data.type}`)
        }
    })
    socket.on("close", () => {
        socket.send("close")
    })
})
console.log(`server start at ${port}`)

直接在文件所在目录打开cmd窗口,启动服务: node server.js

浏览器端  index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
     <button type="button" onclick="sendWs()">发送消息</button>
     <button type="button" onclick="closeWs()">关闭链接</button>
     <div>
        发送第<span id="count"></span>次心跳
     </div>
</body>
</html>
<script>
const ws =   new WebSocket("ws://localhost:8085");
let count = 0
const interval = setInterval(() => {
    count++
        ws.send(JSON.stringify({type:'heart'}))
        document.getElementById("count").innerHTML = count
    }, 1000)

const sendWs = () => {
    if(!ws) return;
    ws.send(JSON.stringify({type:'message',data:{}}))
}

const closeWs = () => {
    clearInterval(interval)
    ws.close()
}


</script>

在本地直接运行浏览器即可!

如果有帮助,就点个赞再走 ^  ^

                                              文章来源地址https://www.toymoban.com/news/detail-640329.html

到了这里,关于nodejs实现前后端websocket通信+心跳示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot进阶(49):SpringBoot之集成WebSocket实现前后端通信 | 超级详细,建议收藏

            在上一期,我对WebSocket进行了基础及理论知识普及学习,WebSocket是一种基于TCP协议实现的全双工通信协议,使用它可以实现实时通信,不必担心HTTP协议的短连接问题。Spring Boot作为一款微服务框架,也提供了轻量级的WebSocket集成支持,本文将介绍如何在Spring Boot项

    2024年02月14日
    浏览(40)
  • Thinkphp5.0 安装使用Workerman实现websocket前后端通信,后端主动推送消息到前端

    安装使用Workerman实现websocket前后端通信,后端主动推送消息到前端,实现后端有数据更新时,前端页面自动更新数据。 我使用的是基于Thinkphp5.0的ThinkCMF5.0。 安装: 启动: public目录下放置的server.php文件,注意里面的配置必须按照你的Worker控制器来: woker控制器: 后端主动推

    2024年02月16日
    浏览(52)
  • Node.js+html5实现WebSocket服务示例

    2024年02月11日
    浏览(50)
  • websocket实时通讯和socket.io实时通信库的使用;心跳机制与断线重连

    https://zh.javascript.info/websocket WebSocket 是一种网络通信协议,就类似于 HTTP 也是一种通信协议。 为什么需要 WebSocket? 因为 HTTP 协议有一个缺陷:通信只能由客户端发起。 代码解析: 创建WebSocket实例:通过 new WebSocket() 创建一个WebSocket实例。在括号中传入服务器的URL,该URL指定了

    2024年02月16日
    浏览(41)
  • Spring Boot进阶(49):实时通信不再是梦想,SpringBoot+WebSocket助你轻松实现前后端即时通讯!

            在上一期,我对WebSocket进行了基础及理论知识普及学习,WebSocket是一种基于TCP协议实现的全双工通信协议,使用它可以实现实时通信,不必担心HTTP协议的短连接问题。Spring Boot作为一款微服务框架,也提供了轻量级的WebSocket集成支持,本文将介绍如何在Spring Boot项

    2024年02月11日
    浏览(48)
  • vue3+nodejs(websocket)实现监控拉rtsp流,使用flv.js+ffmpeg包(主要建立websocket是为了转码传流)

    关于拉取监控摄像头的流,我个人去查了很多资料,也是因为之前没有接触过这一模块,加上目前公司也没有后端去写接口,所以我直接用node去写websocket,与前端建立起通信,能够进行后续转码、传流,能够实现实时播放监控画面。 这里的rtsp流是要事先知道的,监控的这个

    2024年02月20日
    浏览(48)
  • 如何在Node.js中使用WebSocket实现实时通信

    在Web应用程序中,实时通信已经成为一种必不可少的功能。WebSocket是一种基于TCP的协议,它提供了双向通信的能力,使得实时通信变得更加容易。Node.js提供了一个内置的WebSocket模块,使得开发实时通信应用程序变得非常简单。在本文中,我将介绍如何在Node.js中使用WebSocket实

    2024年02月14日
    浏览(45)
  • websocket以及心跳机制的实现

            在浏览器与服务器通信之间,传统的http请求在某些场景下并不理想,比如实时聊天,实时性的小游戏等等, 其中面临主要的两个缺点: 无法做到消息的实时性 服务器无法主动推送信息 其基于http的主要解决方案有: 基于ajax的轮询:客户端定时或者动态相隔短时

    2024年02月04日
    浏览(38)
  • 前后端 websocket 通信

    项目框架 后端: springboot 项目 前端: vue 项目   pom 文件添加依赖   websocket 实现类 ServerEndpoint 注解:定义 websocket 连接名,调用此接口时,开启 websocket 连接,即调用 onOpen 方法 onOpen:开启连接 onClose:关闭连接 onMessage:接收对方发送的消息 sendMessage:向所有连接此后台的另

    2023年04月09日
    浏览(29)
  • uniapp(vue3)+node.js+websocket(实现实时通信效果)

    文章目录 概要 整体架构流程 技术名词解释 技术细节 小结 uniapp基于vue3,小程序的聊天功能 项目是基于node.js服务器搭建的简易双向通信网页,实现了实时更新在线人数以及用户间即时通讯的功能。 后台接口代码 1、首先我们可以通过Express 应用程序生成器快速搭建一个后台

    2024年03月26日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包