Hosszú lekérés a magamról és a magamról, mentsearlharbor
A Nginx modul összeállítása linux alatt
A hosszú polling-kapcsolatok támogatása a Nginx-kiszolgálón, egy csodálatos nginx-push-stream modul valósul meg. Mivel nem szerepel a hivatalos kézbesítésben, azt meg kell tölteni, konfigurálni és összeállítani a Nginxszel.
Ezt megelőzően minden szükséges csomagot telepíteni kell
Ezután le kell töltenie a nginx-push-stream modul modult, maga a nginx, és össze kell tömöríteni őket.
Klónozza a projektet a GIT-ból
Töltse le és csomagolja ki az utolsó nginxet
Nginx konfigurálása és összeállítása nginx-push-stream modullal együtt
Ha nincsenek összeállítási hibák, minden készen áll. Ellenőrizzük, hogy pontosan telepítettük-e azt a nginx-et, és azt a tényt, hogy most valóban van egy nginx-push-stream modulja
A parancsok végrehajtása után ezt látnia kell:
A Nginx konfigurálása a hosszú távoli kapcsolatokhoz
Ha más kiszolgálóparaméterek konfigurációját elhagyja, a /usr/local/nginx/nginx.conf konfigurációs fájlnak így kell kinéznie:
Példa a munka megértésére:
Több előfizetőt is létrehozhat: stream.example.com/sub/1. stream.example.com/sub/2. stream.example.com/sub/3. Mindegyik "felfüggeszti" a Nginx szerveren 25 másodpercig (push_stream_longpolling_connection_ttl). Ha a stream.example.com/pub?id=2 POST kérést hívjuk és elküldi a "Hello" üzenetet a szervezetben, akkor a / sub / 2 "lógó" előfizető "Hello" választ kap. Kényelmesen ellenőrizni ezt a FireFox Poszter plug-in-ben.
Különböző módszereket próbáltam ki, de a szabvány szerint a CORS (Cross-eredetű erőforrás-megosztás) választottam. A többi módszerhez képest az alábbi előnyökkel jár:
- A Chrome, a FireFox, az Opera, az IE 8, a 9, a 10-es verzióban kiválóan működik
- A böngészőkben nem kapcsolja le a letöltési oldal ikonját
- Működik különböző domaineken (crossdomain)
Start $ - jQuery, és a változó subID - egyedi érték az előfizető számára
Fontos megmondani a két paraméter etag és idő.
Nélkülük, a hosszú szavazás nem működött folyamatosan, és az üzenetek egyszerre jelentek meg. Ezt a két paramétert a nginx-push-stream modul modulja szükséges azon üzenetek azonosítására, amelyeket az előfizető még nem kapott. Tehát stabil munka érdekében csak szükség van.