def serve_data_websocket(self, request):
        
        policy_map = {
            "version": SingleOptionPolicy("8"),
            "protocol": SingleOptionPolicy("telemetry.calsol.berkeley.edu")
        }
        try:
            WebSocket.validate(request, policy_map)
        except ValueError as e:
            print e
            return HTTPResponse(400, content_type="text/plain",
                               body=str(e))
        websocket = WebSocket(request, self)
        websocket.negotiate(policy_map)

        while True:
            message = websocket.read_message()
            print "Received:", message.payload_string
            s = "Hello, client!"
            import StringIO
            reply = Message.make_text(StringIO.StringIO(s), len(s))
            websocket.send_message(reply)