def listenLoop(self): print "Listen Loop Begin..." while True: data = self.m_socket.recv(1024 * 16) # 16KB Recv Buffer if self.m_encryptionEnabled: print "Encrypted Packet" decData = self.m_encryptionModule.decryptData(data) (packetID, ), restData = netstruct.iter_unpack("i", decData) self.m_packetHandlers.get(packetID)(restData) else: print "Uncrypted Packet" (packetID, ), restData = netstruct.iter_unpack("i", data) self.m_packetHandlers.get(packetID)(restData)
def test_remain_three(self): it = netstruct.iter_unpack(b"b$5i") next(it) it.send(b"\x05") it.send(b"Hell") self.assertEqual(next(it), 21)
def test_total(self): it = netstruct.iter_unpack(b"b$4h") next(it) it.send(b"\x05Hello") self.assertEqual(it.send(b"\x01\x02\x03\x04\x05\x06\x07\x08"), [b"Hello", 258, 772, 1286, 1800])
def handleLoginResponse(self, data): print "Got Login Response" (statusResponse, ), restData = netstruct.iter_unpack("i", data) if statusResponse == 0: self.handleLoginOkay(data) else: self.handleLoginError(statusResponse, data)
def test_total(self): it = netstruct.iter_unpack(b"b$4h") next(it) it.send(b"\x05Hello") self.assertEqual( it.send(b"\x01\x02\x03\x04\x05\x06\x07\x08"), [b"Hello", 258, 772, 1286, 1800] )
def handleRoomMessage(self, data): (roomid, ), restData = netstruct.iter_unpack("b$", data) messageData = self.m_lengthdString.parse(restData).data for badWord in Config.BAD_WORDS: pattern = re.compile(badWord, re.IGNORECASE) messageData = pattern.sub("*****", messageData) room = RoomManager.Instance().getRoomByID(roomid) room.broadcastRoomMessage(ChatMessage(self, roomid, messageData))
def listenLoop(self): while True: try: data = self.m_clientSocket.recv(1024 * 16) # 16KB Buffer if len(data) == 0: print "Client Disconnected" return if self.m_encryptionEnabled: print "Encrypted Packet" decData = self.m_encryptionModule.decryptData(data) (packetID, ), restData = netstruct.iter_unpack( "i", decData) print "PacketID: " + str(packetID) self.m_packetHandlers.get(packetID)(restData) else: print "Uncrypted Packet" (packetID, ), restData = netstruct.iter_unpack("i", data) print "PacketID: " + str(packetID) self.m_packetHandlers.get(packetID)(restData) except Exception: RoomManager.Instance().removeUserFromAllRooms(self) print "Disconnected due to Error in Handling" return
def handleRoomMessage(self, data): print "Handling Room Message" ( roomID, messageID, ownerID, ), restData = netstruct.iter_unpack("b$b$b$", data) content = self.m_lengthdString.parse(restData).data RoomManager.Instance().getRoomByID(roomID).callbackRoomMessage( messageID, ownerID, content) RoomManager.Instance().notifyRoomsAboutUpdate(roomID, ownerID, messageID, content) return
def test_remain_two(self): it = netstruct.iter_unpack(b"b$5i") next(it) self.assertEqual(it.send(b"\x05"), 25)
def test_empty_send(self): it = netstruct.iter_unpack(b"b$5i") next(it) it.send(b"\x05") self.assertEqual(it.send(b""), 25)
def test_remaining(self): self.assertEqual(next(netstruct.iter_unpack(b"b$5i")), 21)
def test_overage(self): it = netstruct.iter_unpack(b"b$4h") next(it) it.send(b"\x05Hello\x01\x02\x03\x04\x05\x06\x07\x08Test Here.") self.assertEqual(next(it), b"Test Here.")