def run_application(self):
if self.status and not self.headers_sent:
self.write('')
client = Client(self.client_address, self)
self.server.clients.add(client)
try:
print "[%s] Client connected (%s clients total)" % (
self.environ['REMOTE_ADDR'], len(self.server.clients))
origin = self.environ.get('HTTP_ORIGIN', '')
self.start_response("200 OK", [
('Content-Type', 'text/event-stream'),
('Cache-Control', 'no-cache'),
('Connection', 'keep-alive'),
('Access-Control-Allow-Origin', origin),
])
self.result = client.stream()
self.process_result()
super(EventSourceHandler, self).run_application()
except socket.error as exc:
if exc.errno != 32:
raise
finally:
self.server.clients.remove(client)
评论列表
文章目录