Vue使用websocket即时通信

Vue使用websocket即时通信

在Vue中可以使用socket.io插件,不过这里使用的是js原生的WebSocket

首先再 data 中定义一个ws:

  1. data() {
  2.    return {
  3.      ws: "",
  4.    };
  5.  },

然后在method中设置相关函数

  1. methods: {
  2. // ws S
  3.     onopen() {
  4.       console.log("连接成功");
  5.       let login_data = {}
  6.       console.log("websocket握手成功,发送登录数据:", login_data);
  7.       this.ws.send(login_data);
  8.     },
  9.     onmessage(e) {
  10.       console.log(JSON.parse(e.data));
  11.       switch (data["type"]) {
  12.         case "ping":
  13.           this.ws.send('{"type":"pong"}');
  14.           break;
  15.         // 登录 更新用户列表
  16.         case "login":
  17.           break;
  18.         // 发言
  19.         case "say":
  20.           break;
  21.       }
  22.     },
  23.     onclose() {
  24.       console.log("连接关闭");
  25.     },
  26.     onerror() {
  27.       console.log("出现错误");
  28.     },
  29. }

然后在created 初始化:

  1. created() {
  2.   this.ws = new WebSocket("ws://2020.9jm9.com:7272");
  3.   this.ws.onopen = this.onopen;
  4.   this.ws.onmessage = this.onmessage;
  5.   this.ws.onclose = this.onclose;
  6.   this.ws.onerror = this.onerror;
  7. },

 

评论

  1. 呆呆
    Linux Chrome 94.0.4606.61
    3 年前
    2021-9-29 9:49:25

    感谢分享,很有帮助。不过在vue 中使用 websocket,我个使用的是第三方websocket框架【Goeasy】,文档齐全,能够快速上手开发,还有免费的技术支持,非常不错.

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇