vue使用webSocket

<input type="text" v-model="inputText"/>
<span @click="send">发送</span>
data () {
  return {
    inputText: '', // 获取输入框内容
    websock: '' // websocket会话
  };
},

 

methods: {
  send () {
   this.readyChat(this.inputText);
  },
  /* webSocket会话 */
  /* 会话过程中实际调用的函数 */
  readyChat (data) {
    let This = this;
    if (this.websock.readyState === 1) { // this.websock.readyState = 1 表示连接成功,可以立即发送信息
      this.websocketSend(data);
    } else if (this.websock.readyState === 0) { // 表示正在连接,设置300ms后发送信息
      setTimeout(function () {
        This.websocketSend(data);
      }, 300);
    } else { // 连接未创建或者创建失败,则重新创建连接,并设置500ms后发送信息
      this.websochetInit();
      setTimeout(function () {
        This.websocketSend(data);
      }, 500);
    }
  },
  /* 初始化websochet */
  websochetInit () {
    this.websock = new WebSocket('ws://*************');
    this.websock.onmessage = this.websocketMessage;
  },
  /* websochet发送信息 */
  websocketSend (data) {
    this.websock.send(JSON.stringify(data));
  },
  /* websochet接收服务器返回的信息 */
  websocketMessage (e) {
    console.log(e);
  }
}

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mosowe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值