コード例 #1
0
ファイル: net.py プロジェクト: gvsurenderreddy/PyVPN
 def read_packet(self):
     type = struct.unpack("i", self._readn(4))[0]
     if type == CONTENT_TYPES["packet_data"]:
         packet_len = struct.unpack("i", self._readn(4))[0]
         packet = Packet.read_from_socket(self, packet_len, decrypt_func=self.crypto.decrypt)
         print "read from net %s" % packet
         return packet
     elif type == CONTENT_TYPES["update_session"]:
         self.update_session_key()
         return self.read_packet()
コード例 #2
0
ファイル: socketserver.py プロジェクト: stevenleigh/sib
    def serve_once(self, poll_interval=0):
        processed = False
        #logging.debug('listening on socket fileno: %s' %(self.listen_sockets))
        try:
            r, w, e = select.select(self.listen_sockets, [], [], poll_interval)
            #logging.debug('readable socket fileno: %s' %(r))
        except IOError as e:
            print "I/O error({0}): {1}".format(e.errno, e.strerror)
            logging.debug("I/O error({0}): {1}".format(e.errno, e.strerror))
            raise
        except (OSError, select.error) as e:
            if e.args[0] != errno.EINTR:
                raise

        for sock in r:
            #read socket into Packet
            #pop Packet onto Queue
            logging.debug('reading in socket')
            processed = True
            p = Packet()
            p.read_from_socket(sock)
            p.recv_time = time.time()
            self.raw_in_queue.put(p)
        return processed
コード例 #3
0
ファイル: socketserver.py プロジェクト: stevenleigh/sib
	def serve_once(self, poll_interval = 0):
		processed = False
		#logging.debug('listening on socket fileno: %s' %(self.listen_sockets))
		try:
			r, w, e = select.select(self.listen_sockets, [], [], poll_interval)
			#logging.debug('readable socket fileno: %s' %(r))
		except IOError as e:
			print "I/O error({0}): {1}".format(e.errno, e.strerror)
			logging.debug("I/O error({0}): {1}".format(e.errno, e.strerror))
			raise
		except (OSError, select.error) as e:
			if e.args[0] != errno.EINTR:
				raise
		
		for sock in r:
			#read socket into Packet
			#pop Packet onto Queue
			logging.debug('reading in socket')
			processed = True
			p = Packet()
			p.read_from_socket(sock)
			p.recv_time = time.time()
			self.raw_in_queue.put(p)
		return processed