Skip to content

Commit 95ef8ff

Browse files
committed
updated to match middleware's interface
1 parent 62b7797 commit 95ef8ff

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

example/echo_gevent_server.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
# -*- coding: utf-8 -*-
2+
from gevent import monkey; monkey.patch_all()
3+
24
import argparse
35
import random
46
import os
57

6-
from gevent import monkey; monkey.patch_all()
8+
import gevent
79
import gevent.pywsgi
810

911
from ws4py.server.geventserver import UpgradableWSGIHandler
@@ -24,7 +26,8 @@ def __init__(self, host, port):
2426
# let's use wrap the websocket handler with
2527
# a middleware that'll perform the websocket
2628
# handshake
27-
self.ws = WebSocketUpgradeMiddleware(websocket_class=EchoWebSocket)
29+
self.ws = WebSocketUpgradeMiddleware(app=self.ws_app,
30+
websocket_class=EchoWebSocket)
2831

2932
# keep track of connected websocket clients
3033
# so that we can brodcasts messages sent by one
@@ -47,6 +50,11 @@ def __call__(self, environ, start_response):
4750

4851
return self.webapp(environ, start_response)
4952

53+
def ws_app(self, websocket):
54+
g = gevent.spawn(websocket.run)
55+
g.start()
56+
g.join()
57+
5058
def favicon(self, environ, start_response):
5159
"""
5260
Don't care about favicon, let's send nothing.

0 commit comments

Comments
 (0)