Python Language
Eventi inviati dal server Python
Ricerca…
introduzione
Server Sent Events (SSE) è una connessione unidirezionale tra un server e un client (di solito un browser Web) che consente al server di "spingere" le informazioni al client. È molto simile alle web socket e ai lunghi sondaggi. La principale differenza tra SSE e websockets è che SSE è unidirezionale, solo il server può inviare informazioni al client, dove come con i websocket, entrambi possono inviare informazioni a vicenda. Solitamente SSE è considerato molto più semplice da usare / implementare rispetto ai websocket.
Flacone 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
Questo esempio utilizza la libreria SSE asyncio: 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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow