webSocket在vue项目中实现获取实时在线人数

     //本地服务 http协议 使用 ws
     var socket = new WebSocket("wss://xxxxxxxxxxxxxxxxx"); // 服务器长链接路径
       //  建立 web socket 连接成功触发事件
		socket.onopen =function (e) {
			 console.log("连接成功opened", e);
		};
      // 接收服务端数据时触发事件
      var that =this
	  socket.onmessage = function (e) {
		console.log('接收服务端数据',e.data);
        var msgObj = JSON.parse(e.data);
        // console.log(this)
        that.online=msgObj.OnlineCount
        // console.log('msgObj',that.online)
			// $('#msgs').append(msgObj.Content + '<br />');
      };
      // 断开 web socket 连接成功触发事件
      socket.onclose = function (e) {
				console.log(" 断开连接成功socket closed", e);
      };
      // 用于指定报错时的回调函数
	socket.onerror = function (e) {
	  console.error('指定报错时的回调函数',e.data);
	};
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Vue项目使用WebSocket需要先安装WebSocket客户端库,可以使用`websocket`或`socket.io-client`库。 1. 安装WebSocket客户端库 ``` npm install websocket ``` 或者 ``` npm install socket.io-client ``` 2. 创建WebSocket连接 在Vue组件,可以在`created`钩子函数创建WebSocket连接,并在`beforeDestroy`钩子函数关闭连接。 ```javascript import WebSocket from 'websocket' // 或者 import io from 'socket.io-client' export default { created() { this.socket = new WebSocket('ws://example.com') this.socket.onopen = this.onOpen this.socket.onmessage = this.onMessage this.socket.onerror = this.onError this.socket.onclose = this.onClose }, beforeDestroy() { this.socket.close() }, methods: { onOpen(event) { console.log('WebSocket连接已打开', event) }, onMessage(event) { console.log('收到WebSocket消息', event.data) }, onError(event) { console.error('WebSocket发生错误', event) }, onClose(event) { console.log('WebSocket连接已关闭', event) } } } ``` 如果使用`socket.io-client`库,可以使用以下代码创建连接: ```javascript this.socket = io('http://example.com') ``` 3. 发送和接收消息 WebSocket连接成功后,可以使用`send`方法发送消息,并在`onmessage`事件处理函数接收消息。 ```javascript this.socket.send('Hello, WebSocket!') // 或者 this.socket.emit('message', 'Hello, WebSocket!') // 在onMessage方法接收消息 onMessage(event) { console.log('收到WebSocket消息', event.data) } ``` 4. 其他操作 WebSocket还支持其他操作,例如ping和pong,可以使用`send`方法发送ping消息,服务器会自动回复pong消息。 ```javascript this.socket.send('ping') // 在onMessage方法接收pong消息 onMessage(event) { if (event.data === 'pong') { console.log('收到WebSocket回复', event.data) } } ``` 还可以使用`close`方法关闭WebSocket连接。 ```javascript this.socket.close() ``` 以上就是在Vue项目使用WebSocket的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值