Пример #1
0
def start_loop():
    global is_sub_server
    glog.log("gnet>start_loop ------------------")
    if is_sub_server:
        trans_sub.start_loop()
    else:
        trans.start_loop()
Пример #2
0
def on_data(connection_id, buff):
    global MSG_MAP

    try:
        msg = msgpack.unpackb(buff)
    except Exception as e:
        glog.error("gnet>ERROR message format")
        raise e
        return

    # 强制转成[]
    msg = list(msg)
    glog.log("gnet>[recv] %s" % str(msg))
    msgid = msg[0]

    if not msgid in MSG_MAP:
        glog.error("gnet>on_data msgid not in MSG_MAP|msgid:%s" % str(msgid))
        return

    # 调用注册的函数
    func = MSG_MAP[msgid]
    # msg[0]原来是msgid, 在逻辑中没有用处, 所以改成connection_id
    msg[0] = connection_id

    try:
        func(msg) 
    except Exception, e:
        traceback.print_exc()
Пример #3
0
def start_loop():
    global is_sub_server
    glog.log("gnet>start_loop ------------------")    
    if is_sub_server:    
        trans_sub.start_loop()
    else:
        trans.start_loop()
Пример #4
0
def on_data(connection_id, buff):
    global MSG_MAP

    try:
        msg = msgpack.unpackb(buff)
    except Exception as e:
        glog.error("gnet>ERROR message format")
        raise e
        return

    # 强制转成[]
    msg = list(msg)
    glog.log("gnet>[recv] %s" % str(msg))
    msgid = msg[0]

    if not msgid in MSG_MAP:
        glog.error("gnet>on_data msgid not in MSG_MAP|msgid:%s" % str(msgid))
        return

    # 调用注册的函数
    func = MSG_MAP[msgid]
    # msg[0]原来是msgid, 在逻辑中没有用处, 所以改成connection_id
    msg[0] = connection_id

    try:
        func(msg)
    except Exception, e:
        traceback.print_exc()
Пример #5
0
def init(ip, port): 
    glog.log("server at (%s : %d)" % (ip, port))
    trans.init((ip, port), on_connect, on_disconnect, on_data)

    import remote_call;remote_call.init()

    # 注册子服务器登录
    reg(MSGID_SUB_SERVER_LOGIN, on_sub_server_login)
Пример #6
0
def init():
    global MSG_MAP
    MSG_MAP = {}

    ip = ''
    port = 5018
    
    glog.log("server at " + ip +"("+ str(port) +")" )
    trans.init(ip, port, on_connect, on_disconnect, on_data)
Пример #7
0
def init(ip, port):
    glog.log("server at (%s : %d)" % (ip, port))
    trans.init((ip, port), on_connect, on_disconnect, on_data)

    import remote_call
    remote_call.init()

    # 注册子服务器登录
    reg(MSGID_SUB_SERVER_LOGIN, on_sub_server_login)
Пример #8
0
def init():
    global MSG_MAP
    MSG_MAP = {}

    ip = ''
    port = 5018

    glog.log("server at " + ip + "(" + str(port) + ")")
    trans.init(ip, port, on_connect, on_disconnect, on_data)
Пример #9
0
def sendm(data):
    global is_sub_server
    glog.log("gnet>[sendm] %s" % str(data))

    if not is_sub_server:
        glog.error("gnet>can NOT do sendm()")
        return

    trans_sub.send(_pack(data))
Пример #10
0
def sends(sub_svr_name, sub_svr_id, data):
    global SUB_SERVER_MAP, is_sub_server
    glog.log("gnet>[sends] (%s : %d) %s" % (sub_svr_name, sub_svr_id, str(data)))

    if is_sub_server:
        glog.error("gnet>can NOT do sends()")
        return

    trans.send(SUB_SERVER_MAP[sub_svr_name][sub_svr_id], _pack(data))
Пример #11
0
def sendm(data):
    global is_sub_server
    glog.log("gnet>[sendm] %s" % str(data))

    if not is_sub_server:
        glog.error("gnet>can NOT do sendm()")
        return

    trans_sub.send(_pack(data))
Пример #12
0
def sends(sub_svr_name, sub_svr_id, data):
    global SUB_SERVER_MAP, is_sub_server
    glog.log("gnet>[sends] (%s : %d) %s" %
             (sub_svr_name, sub_svr_id, str(data)))

    if is_sub_server:
        glog.error("gnet>can NOT do sends()")
        return

    trans.send(SUB_SERVER_MAP[sub_svr_name][sub_svr_id], _pack(data))
Пример #13
0
def init_sub_server(main_ip, main_port, sub_name, sub_id):
    global is_sub_server
    glog.log("server sub_server (%s : %d) at %s:%d" % (sub_name, sub_id, main_ip, main_port)) 
    trans_sub.init((main_ip, main_port), on_connect, on_disconnect, on_data)
    
    import remote_call;remote_call.init()

    # 发送子服务器登录
    trans_sub.send(_pack([MSGID_SUB_SERVER_LOGIN, sub_name, sub_id]))

    is_sub_server = True
Пример #14
0
def _on_disconnect():
    global func_on_disconnect, connection
    conn_id = connection.connection_id

    if func_on_disconnect:
        func_on_disconnect(conn_id)

    try:
        connection.socket.close()
        glog.log("trans>socket close OK")
    except Exception, e:
        raise e
Пример #15
0
def _on_disconnect(connection):
    global func_on_disconnect
    conn_id = connection.connection_id

    if func_on_disconnect:
        func_on_disconnect(conn_id)

    conn = connections.pop(conn_id)
    try:
        conn.socket.close()
        glog.log("trans>socket close OK")
    except Exception, e:
        raise e
Пример #16
0
def _on_disconnect(connection):
    global func_on_disconnect
    conn_id = connection.connection_id

    if func_on_disconnect:
        func_on_disconnect(conn_id)

    conn = connections.pop(conn_id)
    try:
        conn.socket.close()
        glog.log("socket close OK")
    except Exception, e:
        raise e
Пример #17
0
def init_sub_server(main_ip, main_port, sub_name, sub_id):
    global is_sub_server
    glog.log("server sub_server (%s : %d) at %s:%d" %
             (sub_name, sub_id, main_ip, main_port))
    trans_sub.init((main_ip, main_port), on_connect, on_disconnect, on_data)

    import remote_call
    remote_call.init()

    # 发送子服务器登录
    trans_sub.send(_pack([MSGID_SUB_SERVER_LOGIN, sub_name, sub_id]))

    is_sub_server = True
Пример #18
0
def on_disconnect(connection_id):
    name, id =  _get_sub_server_by_connection(connection_id)
    if name:
        glog.log("on_disconnect sub server: (%s : %d)" % (name, id))
    else:
        glog.log("on_disconnect: %d" % connection_id)    
Пример #19
0
def send(connection_id, data):
    glog.log("gnet>[send] %d %s" % (connection_id, str(data)))
    trans.send(connection_id, _pack(data))
Пример #20
0
def send(connection_id, data):
    glog.log("gnet>[send] %d %s" % (connection_id, str(data)))
    trans.send(connection_id, _pack(data))
Пример #21
0
def start_loop():
    glog.log("gnet>start_loop ------------------")
    trans.start_loop()
Пример #22
0
def on_connect(address, connection_id):
    glog.log("on_connect: %s %d" % (address, connection_id))
Пример #23
0
def start_loop():
    glog.log("gnet>start_loop ------------------")    
    trans.start_loop()
Пример #24
0
def on_disconnect(connection_id):
    name, id = _get_sub_server_by_connection(connection_id)
    if name:
        glog.log("on_disconnect sub server: (%s : %d)" % (name, id))
    else:
        glog.log("on_disconnect: %d" % connection_id)
Пример #25
0
def on_connect(address, connection_id):
    glog.log("on_connect: %s %d" % (address, connection_id))