Beispiel #1
0
def init():
    _read_config()

    #init db and indexes
    #chat_handles
    config.mongo_db.chat_handles.ensure_index('wallet_id', unique=True)
    config.mongo_db.chat_handles.ensure_index('handle', unique=True)
    #chat_history
    config.mongo_db.chat_history.ensure_index('when')
    config.mongo_db.chat_history.ensure_index([
        ("handle", pymongo.ASCENDING),
        ("when", pymongo.DESCENDING),
    ])

    #set up zeromq publisher for sending out received events to connected socket.io clients
    import zmq.green as zmq
    from socketio import server as socketio_server
    zmq_context = zmq.Context()
    global zmq_publisher_eventfeed
    zmq_publisher_eventfeed = zmq_context.socket(zmq.PUB)
    zmq_publisher_eventfeed.bind('inproc://queue_eventfeed')

    logger.info("Starting up socket.io server (block event feed)...")
    sio_server = socketio_server.SocketIOServer(
        (module_config['SOCKETIO_HOST'], module_config['SOCKETIO_PORT']),
        SocketIOMessagesFeedServer(zmq_context),
        resource="socket.io",
        policy_server=False)
    sio_server.start()  #start the socket.io server greenlets

    logger.info("Starting up socket.io server (chat feed)...")
    sio_server = socketio_server.SocketIOServer(
        (module_config['SOCKETIO_CHAT_HOST'],
         module_config['SOCKETIO_CHAT_PORT']),
        SocketIOChatFeedServer(),
        resource="socket.io",
        policy_server=False)
    sio_server.start()  #start the socket.io server greenlets
Beispiel #2
0
def init():
    global handle
    try:
        handle = server.SocketIOServer(('127.0.0.1', 9090),
                                       app,
                                       policy_server=False,
                                       heartbeat_interval=4,
                                       heartbeat_timeout=20,
                                       close_timeout=300)
        if not handle.started:
            handle.start()
        localrpc.prevent_socket_inheritance(handle.socket)
    except:
        log.unhandled_exception('error starting local socketio server')
def set_up():
    #set up zeromq publisher for sending out received events to connected socket.io clients
    import zmq.green as zmq
    from socketio import server as socketio_server
    zmq_context = zmq.Context()
    zmq_publisher_eventfeed = zmq_context.socket(zmq.PUB)
    zmq_publisher_eventfeed.bind('inproc://queue_eventfeed')
    #set event feed for shared access
    config.ZMQ_PUBLISHER_EVENTFEED = zmq_publisher_eventfeed

    logger.info("Starting up socket.io server (block event feed)...")
    sio_server = socketio_server.SocketIOServer(
        (config.SOCKETIO_HOST, config.SOCKETIO_PORT),
        SocketIOMessagesFeedServer(zmq_context),
        resource="socket.io", policy_server=False)
    sio_server.start() #start the socket.io server greenlets

    logger.info("Starting up socket.io server (chat feed)...")
    sio_server = socketio_server.SocketIOServer(
        (config.SOCKETIO_CHAT_HOST, config.SOCKETIO_CHAT_PORT),
        SocketIOChatFeedServer(config.mongo_db),
        resource="socket.io", policy_server=False)
    sio_server.start() #start the socket.io server greenlets
Beispiel #4
0
    
    #Connect to redis
    if config.REDIS_ENABLE_APICACHE:
        logging.info("Enabling redis read API caching... (%s:%s)" % (config.REDIS_CONNECT, config.REDIS_PORT))
        redis_client = redis.StrictRedis(host=config.REDIS_CONNECT, port=config.REDIS_PORT, db=config.REDIS_DATABASE)
    else:
        redis_client = None
    
    #set up zeromq publisher for sending out received events to connected socket.io clients
    zmq_context = zmq.Context()
    zmq_publisher_eventfeed = zmq_context.socket(zmq.PUB)
    zmq_publisher_eventfeed.bind('inproc://queue_eventfeed')
    
    logging.info("Starting up socket.io server (block event feed)...")
    sio_server = socketio_server.SocketIOServer(
        (config.SOCKETIO_HOST, config.SOCKETIO_PORT),
        siofeeds.SocketIOMessagesFeedServer(zmq_context),
        resource="socket.io", policy_server=False)
    sio_server.start() #start the socket.io server greenlets

    logging.info("Starting up socket.io server (chat feed)...")
    sio_server = socketio_server.SocketIOServer(
        (config.SOCKETIO_CHAT_HOST, config.SOCKETIO_CHAT_PORT),
        siofeeds.SocketIOChatFeedServer(mongo_db),
        resource="socket.io", policy_server=False)
    sio_server.start() #start the socket.io server greenlets

    logging.info("Starting up csfrd block feed poller...")
    gevent.spawn(blockfeed.process_cpd_blockfeed, zmq_publisher_eventfeed)

    #start up event timers that don't depend on the feed being fully caught up
    logging.debug("Starting event timer: check_blockchain_service")
Beispiel #5
0
from gevent import monkey
monkey.patch_all()

from bottle import Bottle, request
from socketio import server, namespace, socketio_manage

app = Bottle()


class Hello(namespace.BaseNamespace):
    def on_hello(self, data):
        print "hello", data
        self.emit('greetings', {'from': 'sockets'})


@app.route('/socket.io/<arg:path>')
def socketio(*arg, **kw):
    socketio_manage(request.environ, {'': Hello}, request=request)
    return "out"


if __name__ == '__main__':
    server.SocketIOServer(('localhost', 9090), app,
                          policy_server=False).serve_forever()
Beispiel #6
0
app = web.application(urls, globals())
application = app.wsgifunc(StaticMiddleware)

if web.config.get('_session') is None:
    session = web.session.Session(app,
                                  web.session.DiskStore('sessions'),
                                  initializer={
                                      'login': False,
                                      'user': None
                                  })
    web.config._session = session

#web.config.debug = False

from handlers import (  # NOQA
    IndexHandler, UserHandler, LoginHandler, LogoutHandler, TopicHandler,
    MessageHandler, SocketHandler,
)

if __name__ == "__main__":
    PORT = 8080
    print 'http://localhost:%s' % PORT
    server.SocketIOServer(
        ('localhost', PORT),
        application,
        resource="socket.io",
        policy_server=True,
        policy_listener=('0.0.0.0', 10843),
    ).serve_forever()
Beispiel #7
0
    def recv_disconnect(self):
        print self.socket.session
        print "============="
        # Remove nickname from the list.
        print 'Disconnected'
        nickname = self.socket.session['nickname']
        self.nicknames.remove(nickname)
        self.broadcast_event('announcement', '%s has disconnected' % nickname)
        self.broadcast_event('nicknames', self.nicknames)
        self.disconnect(silent=True)
        return True


""" Here routing is taken care of """


@app.route('/socket.io/<arg:path>')
def socketio(*arg, **kw):
    socketio_manage(request.environ, {'': ChatService}, request=request)
    return "out"


if __name__ == '__main__':
    host = 'localhost'
    port = 9090
    print "======================================================="
    print "Chat service is started @ http://" + host + ":" + str(port)
    print "======================================================="
    server.SocketIOServer((host, port), app,
                          policy_server=False).serve_forever()
Beispiel #8
0
def init():
    global handle
    handle = server.SocketIOServer(('127.0.0.1', 9090), app, policy_server=False, heartbeat_interval=4, heartbeat_timeout=20, close_timeout=300)
    if not handle.started:
        handle.start()
    localrpc.prevent_socket_inheritance(handle.socket)
Beispiel #9
0
 def run(self, handler):
     from socketio import server
     address = (self.host, self.port)
     server.SocketIOServer(address, handler, **self.options).serve_forever()