ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Socket.io 入门 - Renyi的博客

2020-02-22 16:52:04  阅读:236  来源: 互联网

标签:Socket 发送给 game io Renyi 客户端 emit socket


Socket.io

Vue 中使用

NPM 安装
  npm install vue-socket.io --save
  npm install --save socket.io-client
引用

详情

  // main.js

  import VueSocketIO from 'vue-socket.io'
  Vue.use(new VueSocketIO({
      debug: true,
      // 服务器端地址
      connection: 'http://localhost:3000',
      vuex: {
      }
  }))
发送消息和监听消息

例:

    //发送信息给服务端
    this.$socket.emit('login',{
      username: 'username',
      password: 'password'
    });
    //接收服务端的信息
    this.sockets.subscribe('relogin', (data) => {
      console.log(data)
    })

学习文档

w3cschool资料

官方文档

方法(具体示例)

    io.on('connect', onConnect);

    function onConnect(socket){
      // 发送给当前客户端
      socket.emit(
        'hello', 
        'can you hear me?', 
        1, 
        2, 
        'abc'
      );
      // 发送给所有客户端,除了发送者
      socket.broadcast.emit(
        'broadcast', 
        'hello friends!'
      );
      // 发送给同在 'game' 房间的所有客户端,除了发送者
      socket.to('game').emit(
        'nice game', 
        "let's play a game"
      );

      // 发送给同在 'game1' 或 'game2' 房间的所有客户端,除了发送者
      socket.to('game1').to('game2').emit(
        'nice game', 
        "let's play a game (too)"
      );
      // 发送给同在 'game' 房间的所有客户端,包括发送者
      io.in('game').emit(
        'big-announcement', 
        'the game will start soon'
      );
      // 发送给同在 'myNamespace' 命名空间下的所有客户端,包括发送者
      io.of('myNamespace').emit(
        'bigger-announcement', 
        'the tournament will start soon'
      );
      // 发送给指定 socketid 的客户端(私密消息)
      socket.to(<socketid>).emit(
        'hey', 
        'I just met you'
      );
      // 包含回执的消息
      大专栏

标签:Socket,发送给,game,io,Renyi,客户端,emit,socket
来源: https://www.cnblogs.com/lijianming180/p/12346055.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有