Esempio n. 1
0
from wvv.util import get_logger

# import socketio
import eventlet

# eventlet.monkey_patch()
# from gevent import monkey,pywsgi
# from geventwebsocket.handler import WebSocketHandler
from flask_socketio import SocketIO, emit

# monkey.patch_all()
from flask import Flask

log = get_logger("ui-server")
# sio = socketio.Server()
app = Flask(__name__)
sio = SocketIO(app)


@sio.on("connect", namespace="/test")
def connect():
    print("connect")


@sio.on("diy", namespace="/test")
def loop(data):
    print("diy", data)
    emit("relpy")


sio.run(app)
Esempio n. 2
0
import json
from wvv.util import get_logger

log = get_logger('ui-service-UI')
class UI:
    def __init__(self,id,sendFn):
        self.id = id
        self.send = sendFn

    def message(self,data):
        try:
            log.info(data)
            _type = data[type]
            fn = getattr(self,_type.lower())
            if fn:
                fn(data)
        except Exception as e:
            log.error(e)


Esempio n. 3
0
from socket import *
import json
from threading import Thread
from wvv.util import get_logger
from wvv.core.service.frontend.ui import UI

log = get_logger('ui-service-server')


class UIEventLoop:
    clients={}
    messages=[]

    def __init__(self,cls):
        self.cls = cls
        Thread(target=self.loop).start()

    def register(self,id,sendFn):
        self.clients[id]=self.cls(id,sendFn)

    def message(self,id,data):
        self.messages.append((id,data))

    def leave(self,id):
        self[id] = None

    def loop(self):
        while True:
            if len(self.messages) > 0:
                log.debug(self.messages)
                id,data = self.messages.pop(0)