खोज…


परिचय

सर्वर सेंटेड इवेंट्स (SSE) एक सर्वर और क्लाइंट (आमतौर पर एक वेब ब्राउजर) के बीच एक यूनिडायरेक्शनल कनेक्शन होता है जो क्लाइंट को सर्वर को "पुश" करने की जानकारी देता है। यह वेबसोकेट और लंबे मतदान की तरह है। SSE और websockets के बीच मुख्य अंतर यह है कि SSE यूनिडायरेक्शनल है, केवल सर्वर ही क्लाइंट को जानकारी भेज सकता है, जहाँ websockets के साथ, दोनों प्रत्येक को जानकारी भेज सकते हैं। SSE को आमतौर पर वेबस्कैट की तुलना में उपयोग करने / लागू करने के लिए बहुत सरल माना जाता है।

फ्लास्क एस.एस.ई.

@route("/stream")
def stream():
    def event_stream():
        while True:
            if message_to_send:
                yield "data: 
                    {}\n\n".format(message_to_send)"
    
    return Response(event_stream(), mimetype="text/event-stream")

Asyncio SSE

यह उदाहरण asyncio SSE लाइब्रेरी का उपयोग करता है: https://github.com/brutasse/asyncio-sse

import asyncio
import sse

class Handler(sse.Handler):
    @asyncio.coroutine
    def handle_request(self):
        yield from asyncio.sleep(2)
        self.send('foo')
        yield from asyncio.sleep(2)
        self.send('bar', event='wakeup')

start_server = sse.serve(Handler, 'localhost', 8888)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow