controlador para Python HTTPServer que usa subprocesos

Me gustaría escribir un controlador para el servidor independiente que viene con pywebsocket (http://code.google.com/p/pywebsocket) que usa un hilo. en el ejemplo que viene con pywebsocket, el controlador es solo un archivo con una función:

def web_socket_transfer_data(request):
  while True:
    line = request.ws_stream.receive_message()
    if line is None:
      return
    request.ws_stream.send_message(line)
    if line == _GOODBYE_MESSAGE:
      return

He intentado agregar un hilo:

class _Stub(threading.Thread): 
def __init__ (self):
    threading.Thread.__init__(self)
    self._test = 0

def run(self):
    while True:
        time.sleep(5)
        self._test = self._test + 1

pero el servidor se bloquea sin ningún comentario ... entonces, ¿cómo se hace esto?

gracias por cualquier consejo.

preguntado el 16 de mayo de 11 a las 19:05

1 Respuestas

El servidor independiente no está diseñado para recibir mensajes sin bloqueo. De la documentación de la clase "MessageReceiver" en msgutil.py (al menos no cuando se usa SSL):

Esta clase recibe mensajes del cliente.

This class provides three ways to receive messages: blocking,
non-blocking, and via callback. Callback has the highest precedence.

Note: This class should not be used with the standalone server for wss
because pyOpenSSL used by the server raises a fatal error if the socket
is accessed from multiple threads.

Respondido 16 Abr '12, 18:04

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.