首頁 / 技(jì)術(shù)資料/微(wēi)信小(xiǎo)程序使用(yòn✘↑g)socket.IO的(de)大(dà)坑®♥!
&n₹≤bsp;微(wēi)信小(xiǎo)程序現(xiàn)在火(hu✔₽β™ǒ)的(de)不(bù)行(xíng),作(zuò÷± )為(wèi)直播專業(yè)戶的(de& )我們,觀望著(zhe)互聯網的(de)未來(l→♣ái),當然也(yě)不(bù)能(néng)落下(®®☆xià)節奏。但(dàn)是(shì),在将直播嵌入微(wēi)信小(x>≈iǎo)程序中,遇到(dào)了(le)天坑,并且網上(shàn↑™ g)針對(duì)這(zhè)塊的(de)資料非♦£§常的(de)簡單。抱著(zhe)程序猿應該團結一(λφyī)緻的(de)心态,今天給大(dà)家(jiā)說(shuō)說(s₹φ÷∏huō)這(zhè)個(gè)坑怎麽跳(tiào)。
&nb≈δsp;首先微(wēi)信必須wss協議(yì),之前 ≠♥全是(shì)ws的(de)協議(yì),費(fèi)盡周折将wss弄齊£≈後,發現(xiàn)提供的(de)組件(jiàn)根本無法适應之前的(d♣≈≈¥e)socket.io。
這(zhè)是(shì)什(shén)麽鬼?
&n€bsp;socket.io主要(yào)是(sh <>ì)以http協議(yì)進行(xíng)數(shù∑★ε)據傳輸的(de),直接通(tōng)過ws形式,無法直接 ♥§使用(yòng)。
遇到(dào)這(zh∞≠€è)種情況,第一(yī)反應,不(bù)✘♣©用(yòng)提供的(de)組件(jiàn),直接γ 用(yòng)socket.io提供的(de)客戶端js,但(dàn)↕是(shì),引用(yòng)後,控制(zhì)台全紅(hón♠εg)報(bào)錯(cuò)。直接就(jiù)沒法用(yòng)~!
在網上(shàng)找資料,翻山(shān✘ ÷")越嶺終于找到(dào)了(le)個(gè)改良版δ¶δ的(de)socket.io,引用(yòng)後,不(bù)會(huì)報(bàε♥ o)錯(cuò),但(dàn)是(shì)<$σ↔請(qǐng)求方式竟然還(hái)是(shì)websocket的(de),跟提供的(de)組≤α←件(jiàn)沒區(qū)别~!
最後沒有(yǒu)辦法,退→↑₩一(yī)步海(hǎi)闊天空(kōng)。₽★更換之前的(de)socket.io,替換成websocket。把整個(gè)後nodejs後端服務全重寫。≠∏↓
寫這(zhè)個(♦✔gè)文(wén)章(zhāng),希望有(yǒu)其他(tā)進坑的(≥® εde)同學,看(kàn)見(jiàn)以後,不(bù)要ε↔§(yào)掙紮,果斷點,替換掉吧(ba),