如何优雅地运用WebSocket实现高效通信?

更新于
2026-09-25 00:33:26
1阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计850个文字,预计阅读时间需要4分钟。

如何优雅地运用WebSocket实现高效通信?

目录简介特性使用场景具体实现

一、首先是服务端代码,我使用的是Node.js。

二、然后是客户端代码

总结简介WebSocket是基于TCP的一种双向通信协议。在此之前,我们直接采用轮询的方式。

特性- 实时通信:WebSocket允许服务器和客户端之间建立持久的连接,实现实时数据交换。- 减少延迟:相比轮询,WebSocket减少了不必要的HTTP请求,从而降低了通信延迟。

使用场景- 在线聊天- 在线游戏- 实时数据监控- 实时股票信息

如何优雅地运用WebSocket实现高效通信?

具体实现

一、首先是服务端代码,我使用的是Node.js。

javascript// WebSocket服务端代码示例const WebSocket=require('ws');const wss=new WebSocket.Server({ port: 8080 });

wss.on('connection', function connection(ws) { ws.on('message', function incoming(message) { console.log('received: %s', message); });

ws.send('something');});

二、然后是客户端代码javascript// WebSocket客户端代码示例const WebSocket=require('ws');const ws=new WebSocket('ws://localhost:8080');

ws.on('open', function open() { ws.send('hello');});

ws.on('message', function incoming(data) { console.log(data);});

ws.on('close', function close() { console.log('WebSocket connection closed');});

总结WebSocket提供了一种高效、低延迟的实时通信方式,适用于多种场景。通过Node.js和WebSocket,我们可以实现服务端和客户端之间的实时数据交换。

目录
  • 简介
  • 特性
  • 使用场景
  • 具体实现
    • 一、首先是服务端代码,这里我用的是nodejs。
    • 二、然后是客户端代码
  • 总结

    简介

    websocket是基于TCP的一种双向通信协议。在此之前,一直是采用轮询的方式进行双向通信,这种方式效率低下还非常浪费资源。为了解决这种问题,websocket应运而生。

    特性

    • 双向通信:websocket使得客户端跟服务端之间交换数据变得更加简单。允许服务器主动向客户端推送数据。浏览器只需要和服务器完成一次握手,就可以创建持久性的连接,并进行双向数据传输。
    • 实时性强: 服务器可以主动给客户端推送数据,相比192.168.1.100:8888/"); webSocket.onopen = function () { console.log("连接成功!"); socketOpen = true }; webSocket.onmessage = function (evt) { var received_msg = evt.data; console.log("接受消息:" + received_msg); }; webSocket.onclose = function () { console.log("连接关闭!"); }; } }

      2、页面引入文件

      import { contactSocket, doSend } from '@/utils/contactSocket'

      3、具体使用实例

      // 初始化websocket contactSocket() // 发送消息内容 setTimeout(() => { doSend("向服务端发送的消息") }, 1000)

      ② 在uniapp中使用

      1、我们先在utils文件夹下新建一个websocket.js文件

      let socketOpen = false; // 发送消息 function doSend(message) { if (socketOpen) { uni.sendSocketMessage({ data: message }); } } // 初始化websocket function contactSocket() { // 建立连接 uni.connectSocket({ url: 'ws://192.168.1.100:8888/' }); // 连接错误 uni.onSocketError(function(res) { console.log('WebSocket连接打开失败,请检查!'); }); // 打开了连接 uni.onSocketOpen(function() { console.log('WebSocket连接已打开!'); socketOpen = true; }); // 关闭连接 uni.onSocketClose(function(res) { console.log('WebSocket 已关闭!'); }); // 接受消息 uni.onSocketMessage(function(res) { console.log('收到服务器内容:' + res.data); }); } module.exports = { doSend, websocketInit }

      2、页面引入文件

      import { doSend, contactSocket } from '@/utils/websocket.js'

      3、具体使用实例

      // 初始化websocket contactSocket() // 发送消息内容 setTimeout(()=>{ doSend("向服务端发送的消息"); },1000)

      总结

      到此这篇关于如何优雅的使用WebSocket的文章就介绍到这了,更多相关优雅使用WebSocket内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!

    本文共计850个文字,预计阅读时间需要4分钟。

    如何优雅地运用WebSocket实现高效通信?

    目录简介特性使用场景具体实现

    一、首先是服务端代码,我使用的是Node.js。

    二、然后是客户端代码

    总结简介WebSocket是基于TCP的一种双向通信协议。在此之前,我们直接采用轮询的方式。

    特性- 实时通信:WebSocket允许服务器和客户端之间建立持久的连接,实现实时数据交换。- 减少延迟:相比轮询,WebSocket减少了不必要的HTTP请求,从而降低了通信延迟。

    使用场景- 在线聊天- 在线游戏- 实时数据监控- 实时股票信息

    如何优雅地运用WebSocket实现高效通信?

    具体实现

    一、首先是服务端代码,我使用的是Node.js。

    javascript// WebSocket服务端代码示例const WebSocket=require('ws');const wss=new WebSocket.Server({ port: 8080 });

    wss.on('connection', function connection(ws) { ws.on('message', function incoming(message) { console.log('received: %s', message); });

    ws.send('something');});

    二、然后是客户端代码javascript// WebSocket客户端代码示例const WebSocket=require('ws');const ws=new WebSocket('ws://localhost:8080');

    ws.on('open', function open() { ws.send('hello');});

    ws.on('message', function incoming(data) { console.log(data);});

    ws.on('close', function close() { console.log('WebSocket connection closed');});

    总结WebSocket提供了一种高效、低延迟的实时通信方式,适用于多种场景。通过Node.js和WebSocket,我们可以实现服务端和客户端之间的实时数据交换。

    目录
    • 简介
    • 特性
    • 使用场景
    • 具体实现
      • 一、首先是服务端代码,这里我用的是nodejs。
      • 二、然后是客户端代码
    • 总结

      简介

      websocket是基于TCP的一种双向通信协议。在此之前,一直是采用轮询的方式进行双向通信,这种方式效率低下还非常浪费资源。为了解决这种问题,websocket应运而生。

      特性

      • 双向通信:websocket使得客户端跟服务端之间交换数据变得更加简单。允许服务器主动向客户端推送数据。浏览器只需要和服务器完成一次握手,就可以创建持久性的连接,并进行双向数据传输。
      • 实时性强: 服务器可以主动给客户端推送数据,相比192.168.1.100:8888/"); webSocket.onopen = function () { console.log("连接成功!"); socketOpen = true }; webSocket.onmessage = function (evt) { var received_msg = evt.data; console.log("接受消息:" + received_msg); }; webSocket.onclose = function () { console.log("连接关闭!"); }; } }

        2、页面引入文件

        import { contactSocket, doSend } from '@/utils/contactSocket'

        3、具体使用实例

        // 初始化websocket contactSocket() // 发送消息内容 setTimeout(() => { doSend("向服务端发送的消息") }, 1000)

        ② 在uniapp中使用

        1、我们先在utils文件夹下新建一个websocket.js文件

        let socketOpen = false; // 发送消息 function doSend(message) { if (socketOpen) { uni.sendSocketMessage({ data: message }); } } // 初始化websocket function contactSocket() { // 建立连接 uni.connectSocket({ url: 'ws://192.168.1.100:8888/' }); // 连接错误 uni.onSocketError(function(res) { console.log('WebSocket连接打开失败,请检查!'); }); // 打开了连接 uni.onSocketOpen(function() { console.log('WebSocket连接已打开!'); socketOpen = true; }); // 关闭连接 uni.onSocketClose(function(res) { console.log('WebSocket 已关闭!'); }); // 接受消息 uni.onSocketMessage(function(res) { console.log('收到服务器内容:' + res.data); }); } module.exports = { doSend, websocketInit }

        2、页面引入文件

        import { doSend, contactSocket } from '@/utils/websocket.js'

        3、具体使用实例

        // 初始化websocket contactSocket() // 发送消息内容 setTimeout(()=>{ doSend("向服务端发送的消息"); },1000)

        总结

        到此这篇关于如何优雅的使用WebSocket的文章就介绍到这了,更多相关优雅使用WebSocket内容请搜索自由互联以前的文章或继续浏览下面的相关文章希望大家以后多多支持自由互联!