記錄一下這兩天的成果,這兩天是研究了下nodeJs做小程序后臺的搭建。
WebSocket
小程序WebSocket的服務(wù)端其實并不難搭建,整個過程不難實現(xiàn),跟著做就可以了。(為此還特意裝了虛擬機、ubuntu,在共享文件夾和雙向剪切板遇到了阻礙。。)
最讓我高興的是收獲了文章中提到的為什么要去搭建websocket而不是使用nodejs的socket.io服務(wù)
忍不住要引用一下:(原文:用nodejs快速實現(xiàn)微信小程序的websocket服務(wù)端)
微信小程序?qū)Φ谌椒?wù)端的網(wǎng)絡(luò)通信方式支持https和Websocket。WebSocket是HTML5開始提供的一種在單個 TCP 連接上進行全雙工通訊的協(xié)議。為了解決HTTP協(xié)議效率低下的問題,HTML5定義了WebSocket協(xié)議,能更好的節(jié)省服務(wù)器資源和帶寬并達到實時通訊。WebSocket在數(shù)據(jù)傳輸?shù)姆€(wěn)定性和數(shù)據(jù)傳輸量的大小方面,具有很大的性能優(yōu)勢。有不少公司將nodejs的socket.io作為websocket的解決方案,很遺憾的是socket.io是對websocket的封裝,并不支持html5原始的websocket協(xié)議,微信小程序使用的websocket卻是接近于html5原始websocket協(xié)議,socket.io居然沒有用武之地了。當然情況也沒有慘到需要你自己一步一步去實現(xiàn)websocket服務(wù)端,我們的大node有很多websocket庫,ws就是其中一個,號稱最輕量級,最快。
MySQL
在nodejs的文檔中找到連接mysql的參考文檔,因為其中有用到 "npm install mysql"命令,使得我一再神奇地誤以為會自動安裝mysql數(shù)據(jù)庫。
執(zhí)行文件后出現(xiàn)報錯信息 Errno::ECONNREFUSED
找了一下帖子,很多說賬號密碼有誤導(dǎo)致...
正郁悶時,突然想起自己剛剛理所當然地認為那個install命令是安裝數(shù)據(jù)庫的,可是并沒有要我輸入賬號密碼什么的。
于是冷靜地思考下,install 的應(yīng)該是封裝好的連接數(shù)據(jù)庫的js庫,而這時候,我缺少的應(yīng)該是數(shù)據(jù)庫!
馬上download了MySQL,問題沒了。
成功實現(xiàn)了websocket 和 數(shù)據(jù)庫的連接,如果有時間,想把整個流程完善成一個聊天的demo。