Exemplo n.º 1
0
 def __readLMCPDataFromSocket(self):
     data = bytearray(self.__socket.recv(LMCPFactory.HEADER_SIZE))
     if (len(data) >= LMCPFactory.HEADER_SIZE):
         size = LMCPFactory.getSize(data)
         data.extend(bytearray(
             self.__socket.recv(size + 4)))  # compensate for checksum
         recv_obj = self.__factory.getObject(data)
         if recv_obj != None:
             return recv_obj
         else:
             raise ValueError("Invalid object received.")
     if (len(data) == 0):
         return
     raise ValueError("Data read not enough for an LMCP header")
Exemplo n.º 2
0
 def handle(self):
     self.factory = LMCPFactory.LMCPFactory()
     print("Client address: %s" % (self.client_address,))
     while True:
         try:
             data = bytearray(self.request.recv(LMCPFactory.HEADER_SIZE))
             if(len(data) >= LMCPFactory.HEADER_SIZE):
                 print("header size: %d" % (len(data),) )
                 size = LMCPFactory.getSize(data)
                 print("object size: %d" % (size,))
                 data.extend(bytearray(self.request.recv(size+4))) # compensate for checksum
                 print("%d bytes received" % (len(data),))
                 recv_obj = self.factory.getObject(data)
                 print("%s received" % recv_obj.__class__)
                 if recv_obj != None:
                     print("Printing object XML...")
                     print(recv_obj.toXMLStr(""))
                 else:
                    print("Invalid object received.")
         except socket.error:
             self.stop = True
     self.request.close()
Exemplo n.º 3
0
 def handle(self):
     self.factory = LMCPFactory.LMCPFactory()
     print "Client address: %s" % (self.client_address, )
     while True:
         try:
             data = [self.request.recv(LMCPFactory.HEADER_SIZE)]
             print "header size: %d" % (len(data[0]), )
             size = LMCPFactory.getSize(data[0])
             print "object size: %d" % (size, )
             data.append(self.request.recv(size +
                                           4))  # compensate for checksum
             data_str = "".join(data)
             print "%d bytes received" % (len(data_str), )
             recv_obj = self.factory.getObject(data_str)
             print "%s received" % recv_obj.__class__
             if recv_obj != None:
                 print "Printing object XML..."
                 print recv_obj.toXMLStr("")
             else:
                 print "Invalid object received."
         except socket.error, msg:
             print msg
             self.stop = True
Exemplo n.º 4
0
 def handle(self):
     self.factory = LMCPFactory.LMCPFactory()
     print("Client address: %s" % (self.client_address, ))
     while True:
         try:
             data = bytearray(self.request.recv(LMCPFactory.HEADER_SIZE))
             if (len(data) >= LMCPFactory.HEADER_SIZE):
                 print("header size: %d" % (len(data), ))
                 size = LMCPFactory.getSize(data)
                 print("object size: %d" % (size, ))
                 data.extend(bytearray(
                     self.request.recv(size +
                                       4)))  # compensate for checksum
                 print("%d bytes received" % (len(data), ))
                 recv_obj = self.factory.getObject(data)
                 print("%s received" % recv_obj.__class__)
                 if recv_obj != None:
                     print("Printing object XML...")
                     print(recv_obj.toXMLStr(""))
                 else:
                     print("Invalid object received.")
         except socket.error:
             self.stop = True
     self.request.close()