示例#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
文件: gnet.py 项目: cnsoft/GGSvr
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
文件: gnet.py 项目: cnsoft/GGSvr
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
文件: gnet.py 项目: cnsoft/GGSvr
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
文件: gnet.py 项目: 253627764/GGSvr
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
文件: gnet.py 项目: cnsoft/GGSvr
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
文件: gnet.py 项目: cnsoft/GGSvr
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
文件: gnet.py 项目: cnsoft/GGSvr
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
文件: gnet.py 项目: cnsoft/GGSvr
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
文件: gnet.py 项目: cnsoft/GGSvr
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
文件: gnet.py 项目: cnsoft/GGSvr
def on_connect(address, connection_id):
    glog.log("on_connect: %s %d" % (address, connection_id))
示例#23
0
文件: gnet.py 项目: 253627764/GGSvr
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))