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.

Végezetül