python类websocket()的实例源码

demo-chart.py 文件源码 项目:stock 作者: pythonstock 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def on_close(self):
            # When the socket is closed, deregister the websocket with
            # the FigureManager.
            manager = self.application.manager
            manager.remove_web_socket(self)
demo-chart.py 文件源码 项目:stock 作者: pythonstock 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def on_message(self, message):
            # The 'supports_binary' message is relevant to the
            # websocket itself.  The other messages get passed along
            # to matplotlib as-is.

            # Every message has a "type" and a "figure_id".
            message = json.loads(message)
            if message['type'] == 'supports_binary':
                self.supports_binary = message['value']
            else:
                manager = self.application.manager
                manager.handle_json(message)
server.py 文件源码 项目:audiosocket-demo 作者: nexmo-community 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def __init__(self):
        # Browser websocket connections for receiving the binary audio data:
        self.clients = []
        # Browser websocket connections for receiving the event data:
        self.eventclients = []
        self.payload = None  # The buffered PCM frames into 200ms WAV file
        self.count = 0  # How many PCM frames I have in the buffer
        self.vapi_call_uuid = None
        self.vapi_connected = False
server.py 文件源码 项目:audiosocket-demo 作者: nexmo-community 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def connect_vapi(self):
        logging.info("Instructing VAPI to connect")
        response = client.create_call({'to': [{
                "type": "websocket",
                "uri": "ws://{host}/socket".format(host=CONFIG.host),
                "content-type": "audio/l16;rate=16000",
                "headers": {
                    "app": "audiosocket"
                }
            }],
            'from': {'type': 'phone', 'number': CONFIG.phone_number},
            'answer_url': ['https://{host}/ncco'.format(host=CONFIG.host)]})
        logging.debug(repr(response))
        self.vapi_connected = True
        return True
websockethandler.py 文件源码 项目:django-tornado-websockets 作者: Kocal 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def initialize(self, websocket):
        """
            Called when class initialization, makes a link between a :class:`~tornado_websockets.websocket.WebSocket`
            instance and this object.

            :param websocket: instance of WebSocket.
            :type websocket: WebSocket
        """

        # Make a link between a WebSocket instance and this object
        self.websocket = websocket
        websocket.handlers.append(self)
websockethandler.py 文件源码 项目:django-tornado-websockets 作者: Kocal 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def open(self):
        """
            Called when the WebSocket is opened
        """

        for event in self.websocket.events:
            if event.endswith('open'):
                self.on_message('{"event": "%s", "data": {}}' % event)
websockethandler.py 文件源码 项目:django-tornado-websockets 作者: Kocal 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def on_message(self, message):
        """
            Handle incoming messages on the WebSocket.

            :param message: JSON string
            :type message: str
        """

        try:
            message = tornado.escape.json_decode(message)
            event = message.get('event')
            data = message.get('data')
        except ValueError:
            self.emit_warning('Invalid JSON was sent.')
            return

        if not event:
            self.emit_warning('There is no event in this JSON.')
            return

        if not self.websocket.events.get(event):
            return

        if not data:
            data = {}
        elif not isinstance(data, dict):
            self.emit_warning('The data should be a dictionary.')
            return

        callback = self.websocket.events.get(event)
        spec = inspect.getargspec(callback)
        kwargs = {}

        if 'self' in spec.args:
            kwargs['self'] = self.websocket.context
        if 'socket' in spec.args:
            kwargs['socket'] = self
        if 'data' in spec.args:
            kwargs['data'] = data

        return callback(**kwargs)
websockethandler.py 文件源码 项目:django-tornado-websockets 作者: Kocal 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def on_close(self):
        """
            Called when the WebSocket is closed, delete the link between this object and its WebSocket.
        """

        self.websocket.handlers.remove(self)
run_server.py 文件源码 项目:jumpsever 作者: jacksonyoudi 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def require_auth(role='user'):
    def _deco(func):
        def _deco2(request, *args, **kwargs):
            if request.get_cookie('sessionid'):
                session_key = request.get_cookie('sessionid')
            else:
                session_key = request.get_argument('sessionid', '')

            logger.debug('Websocket: session_key: %s' % session_key)
            if session_key:
                session = get_object(Session, session_key=session_key)
                logger.debug('Websocket: session: %s' % session)
                if session and datetime.datetime.now() < session.expire_date:
                    user_id = session.get_decoded().get('_auth_user_id')
                    request.user_id = user_id
                    user = get_object(User, id=user_id)
                    if user:
                        logger.debug('Websocket: user [ %s ] request websocket' % user.username)
                        request.user = user
                        if role == 'admin':
                            if user.role in ['SU', 'GA']:
                                return func(request, *args, **kwargs)
                            logger.debug('Websocket: user [ %s ] is not admin.' % user.username)
                        else:
                            return func(request, *args, **kwargs)
                else:
                    logger.debug('Websocket: session expired: %s' % session_key)
            try:
                request.close()
            except AttributeError:
                pass
            logger.warning('Websocket: Request auth failed.')

        return _deco2

    return _deco
ws_handler.py 文件源码 项目:coretools 作者: iotile 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def on_message(self, message):
        """Handle a message received on the websocket."""
        cmd = self.unpack(message)

        try:
            CommandMessage.verify(cmd)
            self._on_command(cmd)
        except ValidationError:
            if 'operation' in cmd:
                self.logger.exception("Invalid operation received: %s", cmd['operation'])

            self.send_error('message did not correspond with a known schema')
ws_handler.py 文件源码 项目:coretools 作者: iotile 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def send_response(self, success, obj):
        """Send a response back to someone."""

        resp_object = {'type': 'response', 'success': success}
        if obj is not None:
            resp_object['payload'] = obj

        msg = msgpack.packb(resp_object, default=self.encode_datetime)
        self.logger.debug("Sending response: %s", obj)
        try:
            self.write_message(msg, binary=True)
        except tornado.websocket.WebSocketClosedError:
            pass
ws_handler.py 文件源码 项目:coretools 作者: iotile 项目源码 文件源码 阅读 16 收藏 0 点赞 0 评论 0
def send_error(self, reason):
        """Send an error to someone."""

        msg = msgpack.packb({'type': 'response', 'success': False, 'reason': reason})

        try:
            self.logger.debug("Sending error: %s", reason)
            self.write_message(msg, binary=True)
        except tornado.websocket.WebSocketClosedError:
            pass
simple_websocket_client.py 文件源码 项目:tensorspark 作者: adatao 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def test_ws_1():
    client = yield tornado.websocket.websocket_connect("ws://localhost:8888/")
    for i in range (10):
        client.write_message('1')
        msg = yield client.read_message()
        print msg
simple_websocket_client.py 文件源码 项目:tensorspark 作者: adatao 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def test_ws_2():
    client = yield tornado.websocket.websocket_connect("ws://localhost:8888/")
    for i in range (10):
        client.write_message('2')
        msg = yield client.read_message()
        print msg
funcserver.py 文件源码 项目:funcserver 作者: deep-compute 项目源码 文件源码 阅读 38 收藏 0 点赞 0 评论 0
def define_log_pre_format_hooks(self):
        """
        adds a hook to send to websocket if the run command was selected
        """
        hooks = super(Server, self).define_log_pre_format_hooks()
        # NOTE enabling logs only on debug mode
        if self.args.func == self.run and self.args.debug:
            hooks.append(self._send_log_to_ws)

        return hooks
sonota.py 文件源码 项目:SonOTA 作者: mirko 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def on_close(self):
        log.debug("~~ websocket close")
main.py 文件源码 项目:SDPremote 作者: MartinBienz 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def writetldirs(handler):
    mydirs=gettldirs(timelapsedir)

    content=[]

    for item in mydirs:

        fcount = len([name for name in os.listdir(item) if os.path.isfile(os.path.join(item,name))])
        totsize = helpers.bytes2human(sum(os.path.getsize(os.path.join(item,name)) for name in os.listdir(item) if os.path.isfile(os.path.join(item,name))))

        if not fcount == 0:
            thumbnail=sorted([ name for name in os.listdir(item) if os.path.isfile(os.path.join(item,name))])[-1]
        else:
            thumbnail="../../images/nocam.png"

        info = {
        "directory":    item,
        "count": fcount,
        "size":  totsize,
        "thumbnail": thumbnail,
        }
        content.append(info)

    handler.write(json.dumps({"info": content}))

#webserver------------------------------------------------------------------------------------------------------------
#WebsocketHandler HTML5 and other websocket capable clients


问题


面经


文章

微信
公众号

扫码关注公众号