Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def serve_client(conn, addr, id, sid):
- ready = select.select([conn], [], [], 0.1)
- if ready[0]:
- req = conn.recv(1024)
- if "policy-file-request" in req:
- print "policy file"
- conn.send("<cross-domain-policy><allow-access-from domain=\"*\" to-ports=\"*\" /></cross-domain-policy>\x00")
- conn.close()
- return
- clients[id] = Client(conn, id, sid, addr)
- req = req.split("\x00")[:-1]
- i = 0
- ii = len(req)
- while i < ii:
- p = SocketMessage(req[i])
- cmd = p.bitReadUnsignedInt(16)
- c = p.bitReadUnsignedInt(5)
- cc = p.bitReadUnsignedInt(5)
- clients[id].parsePacket(c, cc, p)
- i+=1
- conn.setblocking(0)
- while 1:
- for pv in range(100):
- if chrono[id][pv] != 0 and chrono[id][pv] < time.time():
- chrono[id][pv] = 0
- if chrono_king[id] > 0 and chrono_king[id] < time.time():
- king[id] = 1
- chrono_king[id] = 0
- ready = select.select([conn], [], [], 0.01)
- if ready[0]:
- data = conn.recv(1024)
- if not data: break
- req = data.split("\x00")[:-1]
- i = 0
- ii = len(req)
- while i < ii:
- p = SocketMessage(req[i])
- cmd = p.bitReadUnsignedInt(16)
- c = p.bitReadUnsignedInt(5)
- cc = p.bitReadUnsignedInt(5)
- clients[id].parsePacket(c, cc, p)
- i+=1
- if clients[id]:
- if clients[id].mapid and clients[id].mapid in MapList:
- if i in MapList[clients[id].mapid]:
- MapList[clients[id].mapid].remove(i)
- p2 = clients[id].SocketMessage(5, 2)
- p2.bitWriteUnsignedInt(GlobalProperties.BIT_USER_PID, clients[id].pid)
- p2.bitWriteUnsignedInt(GlobalProperties.BIT_METHODE_ID, 33)
- sendAll(clients[id].mapid, p2)
- clients[id] = ""
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement