当前位置: 首页>>代码示例>>Python>>正文


Python Search.find_hitpeer方法代码示例

本文整理汇总了Python中Search.find_hitpeer方法的典型用法代码示例。如果您正苦于以下问题:Python Search.find_hitpeer方法的具体用法?Python Search.find_hitpeer怎么用?Python Search.find_hitpeer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Search的用法示例。


在下文中一共展示了Search.find_hitpeer方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: run

# 需要导入模块: import Search [as 别名]
# 或者: from Search import find_hitpeer [as 别名]
	def run(self):
		# Creazione socket
		s = sfunc.create_socket_server(func.roll_the_dice(self.host), self.port)

		if s is None:
			tfunc.write_daemon_text(self.name, self.host, 'Error: Daemon could not open socket in upload.')

		else:
			while 1: 

				conn, addr = s.accept()
				ricevutoByte = conn.recv(const.LENGTH_PACK)

				if not ricevutoByte:
					tfunc.write_daemon_error(self.name, addr[0], "Pacchetto errato")

				# Chiusura del demone
				elif (str(ricevutoByte[0:4], "ascii") == pack.CODE_CLOSE):
					try:
						tfunc.write_daemon_success(self.name, addr[0], "Chiusura del demone Tracker")
					except:
						continue
					finally:
						break

				# Test corretto avvio demone
				elif (str(ricevutoByte[0:4], "ascii") == pack.CODE_CONFIRM):
					tfunc.write_daemon_success(self.name, addr[0], "Avvio demone Tracker")

				# Reale funzionamento
				else:
					if str(ricevutoByte[0:4], "ascii") == pack.CODE_LOGIN: ### LOGIN OK
						pk = logi.reconnect_user(ricevutoByte[4:59], ricevutoByte[59:], self.listUsers, self.name, addr)
						conn.sendall(pk)

					elif str(ricevutoByte[0:4], "ascii") == pack.CODE_ADDFILE: ### ADD FILE OK
						# Controllo presenza user
						if ricevutoByte[4:20] in self.listUsers:
							pk = add.add_file_to_list(ricevutoByte[36:136], ricevutoByte[20:30], ricevutoByte[30:36], ricevutoByte[4:20], ricevutoByte[-32:], self.listFile, self.name, addr)
							conn.sendall(pk)
						else:
							tfunc.write_daemon_error(self.name, addr[0], "ADD FILE - User not logged")

					elif(str(ricevutoByte[0:4], "ascii") == pack.CODE_LOOK): ### LOOK
						# Controllo presenza user
						if ricevutoByte[4:20] in self.listUsers:
							pk = src.search_in_list_file(self.listFile, ricevutoByte[4:20], ricevutoByte[20:], self.name, addr)
							conn.sendall(pk)
						else:
							tfunc.write_daemon_error(self.name, addr[0], "SEARCH FILE - User not logged")

					elif(str(ricevutoByte[0:4], "ascii") == pack.CODE_FIND_PART): ### SEARCH PART 
						# Controllo presenza user
						if ricevutoByte[4:20] in self.listUsers:
							pk = src.find_hitpeer(self.listFile, self.listUsers, ricevutoByte[4:20], ricevutoByte[20:], self.name, addr)
							conn.sendall(pk)
						else:
							tfunc.write_daemon_error(self.name, addr[0], "REQUEST FILEPART - User not logged")

					elif str(ricevutoByte[0:4], "ascii") == pack.CODE_UPDATE_PART: ### UPDATE MEMORY OK
						# Controllo presenza user
						if ricevutoByte[4:20] in self.listUsers:
							pk = fs.update_memory(ricevutoByte[4:20], ricevutoByte[20:52], ricevutoByte[52:], self.listFile, self.name, addr)
							conn.sendall(pk)
						else:
							tfunc.write_daemon_error(self.name, addr[0], "ADD FILE - User not logged")

					elif str(ricevutoByte[0:4], "ascii") == pack.CODE_LOGOUT: ### LOGOUT OK
						if ricevutoByte[4:20] in self.listUsers:
							pk = logo.try_logout(ricevutoByte[4:], self.listFile, self.listUsers, self.name, addr)
							conn.sendall(pk)
						else:
							tfunc.write_daemon_error(self.name, addr[0], "User not logged")

					else:
						tfunc.write_daemon_error(self.name, addr[0], "Ricevuto pacchetto sbagliato: " + str(ricevutoByte, "ascii"))
			s.close()
开发者ID:tommasoberlose,项目名称:p2p_bittorrent,代码行数:79,代码来源:Tracker.py


注:本文中的Search.find_hitpeer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。