Metin | huazai123
Bugün getirilen farkındalık programı (WeChat hesabı zxcx0101), "Tıp Danışmanı" WeChat uygulama projesine dayalı bir soket müşteri hizmetleri modülü oluşturma sürecidir.
WeChat düzenlemeleri nedeniyle, beyaz listedeki alan adları bağlantı noktası bilgilerini taşıyamaz. Geliştiricilerin, WeChat beyaz listedeki alan adlarını desteklemek için proxy iletimi için NginX kullanmalarını öneririz.
2. Ön uç ve arka uç iletişim JSON protokolünü tanımlayınBunlar arasında belirteç, mesaj kaynağının meşruiyetini doğrulamak için kullanılır, fd, mevcut soket bağlantı kaynağı kimliğidir, karşılık gelen soket bağlantı kaynağı kimliğidir ve cmd, mevcut işlemi tanımlamak için kullanılır.
TP5 ve swoole uzantıları kullanın ve soket isteklerini işlemek için yeni bir soket modülü oluşturun.
Dizin yapısı aşağıdaki gibidir:
Server.php ve client.php sunucularına bölünmüş olan sunucu, cli şeklinde çalışır. Spesifik kod için lütfen swoole kaynak paketindeki SSL örneğine bakın.
Komutu aşağıdaki gibi çalıştırın (önce sunucu program kodunun genel dizinine geçin):
php index.php soket / sunucu / dizinİstemci aslında web üzerindeki bir web soketidir. Kaynak kodu paketi ayrıca referansınız için örnekler sağlar.
2. Mini terminalBaşarılı bağlantı, mesaj gönderme ve bağlantı hatalarının otomatik olarak yeniden bağlanması gibi işlemleri idare etmek için WeChat tarafından sağlanan soket arayüzünü basitçe kapsüllememiz gerekir.
Dizin yapısı aşağıdaki gibidir:
Gönderme yöntemi paket referansı:
3. Cli program kararlılığını geliştirinKabuk betiğini aşağıdaki gibi yazın:
count = `ps -fe | grep" soket / sunucu "| grep -v" grep "| grep" ana "| wc -l`echo $ countif ; sonraps -eaf | grep" soket / sunucu "| grep -v" grep "| awk '{print $ 2}' | xargs kill -9sleep 2ulimit -c sınırsız / opt / app / php / bin / php /opt/web/think/public/index.php soket / sunucu / indexecho "yeniden başlat"; echo $ (tarih +% Y-% m-% d_% H:% M:% S) > /opt/script/log/restart.logfiCrontab'i etkinleştirin:
crontab -eBir satır ekleyin:
* / 1 * * * * /opt/script/check_server.sh # Her dakika crontab -l komut dosyasını kontrol edinÖncelikle, TP5'in yardım fonksiyon modülünü kullanırken aşağıdaki hata meydana gelirse, bu, süresi dolmuş bir veritabanı bağlantısından kaynaklanmaktadır. Bağlantı sona erme süresini daha uzun ayarlamanız önerilir, ancak öyle olsa bile, her zaman bir sona erme süresi olacaktır. Bu yüzden MongoDB kullanmanızı öneririz.
İkinci olarak, WeChat uygulamasının gerçek makine ortamının bağlantı noktasını belirtmesine izin verilmez, bu durumda yukarıdaki sunucu yapılandırması işe yaramaz.Çözüm, Apache'nin SSL modülünü devre dışı bırakmak ve bunun yerine ters proxy olarak NginX'i kullanmaktır.
Ayrıca, NginX'i ters proxy olarak kullanmak isterseniz, oturumun sona ermesi sorunuyla karşılaşacaksınız. İki çözümümüz var:
Bu iki yöntem sunucudaki yükü artıracak, kendi durumunuza göre seçim yapabilirsiniz, ikinci yöntemi öneriyoruz.
Orijinal adres:
Bu makale Know Programının izniyle yeniden basılmıştır, WeChat hesabı zxcx0101'i takip edin, WeChat arka planında "sağlık" cevabını verin ve sağlıkla ilgili uygulamalar için öneriler alın.