成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Vue.js 如何使用Socket.IO ?

開發 前端
對前端而言,來實現瀏覽器和服務器實時通信,最好的選擇就是Socket.IO庫,能夠快速的實現兩端實時通信功能。

 在很多需求業務中,都需要瀏覽器和服務器實時通信來實現功能,比如:掃碼登錄(掃碼后,手機確認登錄,PC網頁完成登錄并跳轉)、訂單語言提醒等,這些都是建立在兩端實時通信的基礎上的。對前端而言,來實現瀏覽器和服務器實時通信,最好的選擇就是Socket.IO庫,能夠快速的實現兩端實時通信功能。

 

1、什么是 Socket.IO?

Socket.IO是一個WebSocket庫,可以在瀏覽器和服務器之間實現實時,雙向和基于事件的通信。它包括:Node.js服務器庫、瀏覽器的Javascript客戶端庫。它會自動根據瀏覽器從WebSocket、AJAX長輪詢、Iframe流等等各種方式中選擇最佳的方式來實現網絡實時應用,非常方便和人性化,而且支持的瀏覽器最低達IE5.5

2、Socket.IO 主要特點

[[271942]] 

(1)、支持瀏覽器/Nodejs環境 (2)、支持雙向通信 (3)、API簡單易用 (4)、支持二進制傳輸 (5)、減少傳輸數據量

3、Vue.js 中 Socket.IO的使用

 

(1)客戶端

 

  1. npm install vue-socket.io --save 

main.js添加下列代碼 

  1. import VueSocketIO from 'vue-socket.io'  
  2. Vue.use(new VueSocketIO({  
  3. debug: true,  
  4. // 服務器端地址  
  5. connection: 'http://localhost:3000',  
  6. vuex: {  
  7.  
  8. }))  

發送消息和監聽消息 

  1. //發送信息給服務端  
  2. this.$socket.emit('login',{  
  3. username: 'username',  
  4. password: 'password'  
  5. });  
  6. //接收服務端的信息  
  7. this.sockets.subscribe('relogin', (data) => {  
  8. console.log(data)  
  9. })  

(2)服務端

 

服務端,我們基于express搭建node服務器。 

  1. npm install --save express  
  2. npm install --save socket.io  

index.js文件 

  1. var app = require('express')();  
  2. var http = require('http').Server(app);  
  3. var io = require('socket.io')(http);  
  4. app.get('/', function(req, res){  
  5. res.send('  
  6. 你好web秀 
  7. '); 
  8. });  
  9. io.on('connection',function(socket) {  
  10. //接收數據  
  11. socket.on('login', function (obj) {  
  12. console.log(obj.username);  
  13. // 發送數據  
  14. socket.emit('relogin', {  
  15. msg: `你好${obj.username}`,  
  16. code: 200  
  17. });  
  18. });  
  19. });  
  20. http.listen(3000, function(){  
  21. console.log('listening on *:3000');  
  22. });  

然后啟動服務端服務 

  1. node index.js 

客戶端即可查看效果。

4、Socket.IO有哪些事件

  

  1. io.on('connect', onConnect);  
  2. function onConnect(socket){  
  3. // 發送給當前客戶端  
  4. socket.emit(  
  5. 'hello',  
  6. 'can you hear me?',  
  7. 1,  
  8. 2,  
  9. 'abc'  
  10. );  
  11. // 發送給所有客戶端,除了發送者  
  12. socket.broadcast.emit(  
  13. 'broadcast',  
  14. 'hello friends!'  
  15. );  
  16. // 發送給同在 'game' 房間的所有客戶端,除了發送者  
  17. socket.to('game').emit(  
  18. 'nice game',  
  19. "let's play a game"  
  20. );  
  21. // 發送給同在 'game1' 或 'game2' 房間的所有客戶端,除了發送者  
  22. socket.to('game1').to('game2').emit(  
  23. 'nice game',  
  24. "let's play a game (too)"  
  25. );  
  26. // 發送給同在 'game' 房間的所有客戶端,包括發送者  
  27. io.in('game').emit(  
  28. 'big-announcement',  
  29. 'the game will start soon'  
  30. );  
  31. // 發送給同在 'myNamespace' 命名空間下的所有客戶端,包括發送者  
  32. io.of('myNamespace').emit(  
  33. 'bigger-announcement',  
  34. 'the tournament will start soon'  
  35. );  
  36. // 發送給指定 socketid 的客戶端(私密消息)  
  37. socket.to().emit(  
  38. 'hey',  
  39. 'I just met you'  
  40. );  
  41. // 包含回執的消息  
  42. socket.emit(  
  43. 'question',  
  44. 'do you think so?', 
  45.  function (answer) {}  
  46. );  
  47. // 不壓縮,直接發送  
  48. socket.compress(false).emit(  
  49. 'uncompressed',  
  50. "that's rough"  
  51. );  
  52. // 如果客戶端還不能接收消息,那么消息可能丟失  
  53. socket.volatile.emit(  
  54. 'maybe',  
  55. 'do you really need it?'  
  56. );  
  57. // 發送給當前 node 實例下的所有客戶端(在使用多個 node 實例的情況下)  
  58. io.local.emit(  
  59. 'hi',  
  60. 'my lovely babies'  
  61. );  
  62. };  

5、Socket.IO全家桶

 

責任編輯:龐桂玉 來源: 中國開源
相關推薦

2022-06-13 07:33:57

socketReact組件

2017-09-05 15:30:00

JavascriptSocket.ioNode.js

2017-07-14 10:10:08

Vue.jsMixin

2013-10-23 17:17:31

Node.jsdoT

2014-07-22 10:29:04

背包算法coffee

2016-11-22 13:25:28

Apache Spar大數據

2021-04-17 18:24:04

Vue.js嵌套路由前端

2021-05-08 06:14:28

Vue.js片段開發

2018-04-04 10:32:13

前端JavascriptVue.js

2016-11-04 19:58:39

vue.js

2017-07-04 17:55:37

Vue.js插件開發

2025-02-27 09:28:27

2015-07-15 12:53:05

Node.jsSocket.io遠程控制

2014-06-10 13:54:05

Node.jsSocket.IOWebSocket

2022-01-19 22:18:56

Vue.jsVue SPA開發

2017-07-11 18:00:21

vue.js數據組件

2017-07-20 11:18:22

Vue.jsMVVMMVC

2024-05-13 08:04:26

Vue.jsWeb應用程序

2016-11-01 19:10:33

vue.js前端前端框架

2020-09-07 14:40:20

Vue.js構建工具前端
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美a级成人淫片免费看 | 免费的色网站 | 九色国产| 日韩快播电影网 | 色女人天堂 | 国产91亚洲精品一区二区三区 | 日本手机看片 | 国产欧美日韩一区二区三区在线 | 黄色毛片在线观看 | 精品二 | 国产精品免费观看 | 91视频观看 | 伊人网站视频 | 91亚洲国产成人久久精品网站 | 国产剧情久久 | av永久 | 亚洲丝袜天堂 | 天天插天天干 | 午夜久久久久久久久久一区二区 | 国产精品美女一区二区三区 | 黄色在线观看网址 | 久久精品一区 | 丝袜一区二区三区 | 欧美一区二区三区在线视频 | 久久久www成人免费无遮挡大片 | 国产精品久久性 | 黄网免费 | 久久大香| 欧美视频免费在线 | 国产精品99久久久久久久久 | 中文字幕亚洲精品 | 国产精品综合久久 | 91精品国产91久久综合桃花 | 欧美成人一区二区三区 | 欧美日韩不卡合集视频 | 中文字幕一区二区三区四区五区 | 日韩精品久久久久 | 免费一级毛片 | 久久国产精品网 | 91亚洲国产成人精品一区二三 | 国产精品五区 |