Exemplo n.º 1
0
class Tracker():
	"""Tracker for torrents"""
	def __init__(self, ip, port=None, dbName=None):
		self.ip = ip
		self.port = port
		if dbName:
			self.db = DB(dbName).db
		else:
			self.db = None

		self.socket = None
		self.groups = {}

	# start the tracker server	
	def Start(self):
		# create a tcp thread
		self.socket = Socket(self.ip, self.port).TCP()
		self.socket.bind((self.ip, self.port))

		# now listen for any incomming connection
		print "Tracker listening at  "+ self.ip + ":"+str(self.port)
		self.socket.listen(5)

		while True:
			clientSocket, (ip, port) = self.socket.accept()
			print "Responding to ", ip, port
			clientThread = ClientThread(self, clientSocket, ip, port)
			clientThread.start()
Exemplo n.º 2
0
class Server():
	"""Server for torrent files"""
	def __init__(self, ip, port=None, dbName=None):
		self.socket = None
		self.ip = ip
		self.port = port
		self.db = DB(dbName).db

	"""
	Start the server
	"""
	def Start(self):
		# create a tcp socket	
		self.socket = Socket(self.ip, self.port).TCP()
		self.socket.bind((self.ip, self.port))

		# listen for any incomming connections
		print "Listening at: ", (self.ip, self.port)
		self.socket.listen(5)

		while True:
			clientSocket, (ip, port) = self.socket.accept()
			print "Responding to : ", ip, port
			clientThread = ClientThread(self, clientSocket, ip, port)
			clientThread.start()
Exemplo n.º 3
0
	def SendFile(self, file_name):

		print "Waiting for any group connection at ", self.ip, self.port, "..."
		# keep connection open, listen
		sock = Socket(self.ip, self.port).TCP()
		sock.bind((self.ip, self.port))
		sock.listen(5)

		# accept connection from tracker
		while True:
			groupSocket, (ip, port) = sock.accept()
			print "Seeding to group ", ip, port
			groupThread = ClientThread(groupSocket, ip, port, file_name)
			groupThread.start()