淘寶客小程序怎么制作,淘寶客微信小程序接口怎么搭建?
一、環(huán)境準備
1. 搭建HTTPS和WSS環(huán)境
使用NginX進行代理轉(zhuǎn)發(fā)。
2. 定義前后端通信 JSON 協(xié)議
其中,token 是用來驗證消息來源合法性的,fd 為當前 socket 連接資源 ID,from 為對方 socket 連接資源 ID,cmd 用于定義當前操作。
二、聊天系統(tǒng)搭建
1. 服務(wù)端
采用 TP5 和 swoole 擴展,并新建了一個socket模塊,用于處理socket請求。
目錄結(jié)構(gòu)如下:
分為服務(wù)端 server.php 和客戶端 client.php,服務(wù)端以 cli 形式運行。具體代碼請參考 swoole 源碼包中的 SSL 樣例。
運行命令如下,先切換到服務(wù)器程序代碼的public目錄:
php index.php socket/server/index
客戶端其實是一個 web 端的 websocket,源碼包中同樣有提供樣例,可供大家參考。
2. 小程序端
我們需要簡單封裝socket 接口,用于處理連接成功、發(fā)送消息、連接失敗自動重連等操作。
目錄結(jié)構(gòu)如下:
發(fā)送方法封裝參考:
3. 提升 cli 程序穩(wěn)定性
編寫 shell 腳本如下:
count=`ps -fe |grep "socket/server" | grep -v "grep" | grep "master" | wc -l`
echo $count
if [ $count -lt 1 ]; then
ps -eaf |grep "socket/server" | grep -v "grep"| awk '{print $2}'|xargs kill -9
sleep 2
ulimit -c unlimited
/opt/app/php/bin/php /opt/web/think/public/index.php socket/server/index
echo "restart";
echo $(date +%Y-%m-%d_%H:%M:%S) >/opt/script/log/restart.log
fi
啟用 crontab:
crontab -e
加入一行:
*/1 * * * * /opt/script/check_server.sh #每隔一分鐘檢測下腳本
crontab –l
三、注意事項
首先,如果使用 TP5 的幫助函數(shù)模塊出現(xiàn)下面的錯誤,是數(shù)據(jù)庫連接過期導(dǎo)致。建議大家將連接過期時間設(shè)置得更長,但即使這樣,總有過期的時候。所以我們推薦使用 MongoDB。
停用Apache的SSL模塊,改用NginX作為反向代理。
另外,如果要用 NginX 作為反向代理,會遇到會話過期的問題。我們有兩個解決辦法:
設(shè)置代理超時時間為一個很長的時間。
一個是客戶端做個心跳檢測(即定時向服務(wù)器發(fā)送一條信息)。
這兩種辦法都會增加服務(wù)器的負擔,大家可以根據(jù)自己情況進行選擇,我們建議采用后一種方法。
查看更多相似文章 更多內(nèi)容可以關(guān)注hi小程序.第二部分:如何開通一個小商店