col-6
摘要:演示地址實時畫板聊天室你畫我猜聊天室圖片搶先看解釋關于是基于實現的套接字前端后端數據交互的庫,通過它的封裝,使用者可以很方便的開發,而且支持長輪詢等方法,兼容低版本瀏覽器。最后推薦一個實時的更加優秀的游戲。
前言
一直都想好好的學習運用node,一直都不知道要做什么東西,最近Java Web老師要求做個前端的應用,既然是前端應用,那肯定得是單頁應用了,而且node很適用于高并發的實時應用,所以便選擇node以及基于node的socket.io。
演示地址實時畫板+聊天室(GitHub)
你畫我猜+聊天室(Demo | GitHub)
圖片搶先看
Socket.IO 是基于node實現的套接字前端后端數據交互的庫,通過它的封裝,使用者可以很方便的開發,而且支持websocket/ajax 長輪詢等方法,兼容低版本瀏覽器。
基本使用如下:
服務器端
var httpd = require("http").createServer(handler); var io = require("socket.io").listen(httpd); function handler(req,res) { } io.sockets.on("connection",function(socket){ //新的客戶端連接 socket.on("login",(name,age)=>{ socket.emit("message",name+","+age);//觸發客戶端message事件 }) });
客戶端
引入js文件
進行交互
var socket = io.connect(); //觸發服務器端connection事件 socket.emit("login","moyu",20); //觸發服務器端login事件 socket.on("message",function(msg){ alert(msg); })關于排行榜
利用了js的匿名立即執行函數進行模塊化包裝
var tops = (function () { /* * _tops : 存放所有id,按照回答正確數倒序排列 * idmap : 一個hash map結構,key為id,value為名字與回答正確數 * n : 前n個,在toJSON調用 */ var _tops = [],idmap={},n=10; return { set : function (id,name,v) { if(this.isExists(id))//如果id已經存在則刪除,防止出現重復id this.remove(id); // 找到按照v從大到小所對應的位置 var i = _tops.findIndex(x=>{return idmap[x].v關于Bootstrap柵格{ if(i>=n) return false; arr.push({id:x,v:idmap[x].v,name:idmap[x].name}); return true; }); return arr; } } }());
.container{ margin-right: auto; margin-left: auto; //防止最外層的.row元素左右擴展15px padding-left: 15px; padding-right: 15px; } .col-3{ width: 30%; } .col-4{ width: 40%; } .col-9{ width: 90%; } /.../ .row{ /* 向外左右延伸15px */ margin-right: -15px; margin-left: -15px; } /* 防止子元素為float,父元素的高度為0 */ .row:before, .row:after { content: " "; display: table; } .row:after { clear: both; } .col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9{ padding-left: 15px; padding-right: 15px; float:left; }
HTML結構
關于一欄(多欄)寬度固定,一欄自適應col-6
col-4col-2
圣杯布局
雙飛翼
感受...做單頁應用真的需要挺大的心臟,而且需要較好的整體的架構,好在socket.io對websocket封裝的不錯,變成了面向消息的方式,代碼結構相對更加清晰了些。
...不敢想象用Java做這種實時單頁應用后端會有多么的「拗口」。最后推薦一個實時的更加優秀的游戲:slithe。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/86362.html
摘要:聊一聊端的即時通訊端實現即時通訊的方法有哪些短輪詢長輪詢流輪詢客戶端定時向服務器發送請求,服務器接到請求后馬上返回響應信息并關閉連接。介紹是開始提供的一種在單個連接上進行全雙工通訊的協議。 聊一聊Web端的即時通訊 Web端實現即時通訊的方法有哪些? - 短輪詢 長輪詢 iframe流 Flash Socket 輪詢 客戶端定時向服務器發送Ajax請求,服務器接到請求后馬上返...
摘要:使用即可完成一個很有意思的在線游戲作品。你畫我猜,相信大家對這個游戲都很熟悉。我用實現了你畫我猜這個游戲。可以修改畫筆顏色,粗細,進行撤銷,恢復,清空等操作。第一個猜完后,游戲時間縮短為秒。 使用 websocket + vue2 即可完成一個很有意思的在線游戲作品。你畫我猜,相信大家對這個游戲都很熟悉。 我用Vue2 + mint-ui + nodejs + websocket ...
摘要:選擇技術類型微信小程序使用功能不多就不是使用了后臺用寫,使用選來做。這里使用做畫布是有問題的,它不支持。游戲同步問題,這里用狀態同步的方法。最后使用的還是挺爽的 選擇技術類型 微信小程序使用Taro(功能不多就不是使用Redux了),后臺用php寫,websocket使用選workman來做。 這里使用Taro做畫布是有問題的,它不支持h5。 選型的問題 taro 不支持畫布的H5...
摘要:選擇技術類型微信小程序使用功能不多就不是使用了后臺用寫,使用選來做。這里使用做畫布是有問題的,它不支持。游戲同步問題,這里用狀態同步的方法。最后使用的還是挺爽的 選擇技術類型 微信小程序使用Taro(功能不多就不是使用Redux了),后臺用php寫,websocket使用選workman來做。 這里使用Taro做畫布是有問題的,它不支持h5。 選型的問題 taro 不支持畫布的H5...
閱讀 2597·2021-10-14 09:43
閱讀 3559·2021-10-13 09:39
閱讀 3289·2019-08-30 15:44
閱讀 3137·2019-08-29 16:37
閱讀 3702·2019-08-29 13:17
閱讀 2731·2019-08-26 13:57
閱讀 1825·2019-08-26 11:59
閱讀 1238·2019-08-26 11:46