DNMAP - Twisted의 비밀 탐색

1747 단어
나는 식은 죽 먹기지만 프로그래머 생각이 서서히 생겼다는 것을 알게 된다.천천히 노력하세요.
어젯밤에 위챗 공식 계정을 봤는데 15명의 프로그래머가 해야 할 일이 있었다.문장이 아주 괜찮은데, 이익이 적지 않다.공부를 많이 하고 충돌을 많이 하며 융통성이 없다
twisted 분산 검색...
twisted Time Processing(task.Looping Call)(factory 내부)
Reactor: twisted 프레임워크 관리의 핵심입니다.모든 이벤트가reactor를 터치하고 서비스를 시작하여factory를 초기화하고factory를protocol을 초기화합니다.
dnmap_server:
	    try except       
	
	 twisted         .
	
	client_id.      (nmap)
	
	timeout_idle_clients            
	
	read_file_and_fill_nmap_variable      ;(      ?)(task.LoopingCall)
	
	ServerContextFactory(SSL  )
	
	show_info (task.LoopingCall)
	
	send_one_more_command (   process_input_line     )
	
	process_input_line (   NmapServerProtocol       )
	
	NmapServerProtocol (factory.protocol)
	
	process_nmap_commands (main      )
	
	
	factory = Factory()
	factory.protocol = NmapServerProtocol
	
	# Create the time based print
	loop = task.LoopingCall(show_info) #  
	loop.start(5.0) # call every second

	# Create the time based file read
	loop2 = task.LoopingCall(read_file_and_fill_nmap_variable)
	loop2.start(30.0) # call every second

	# To mark idel clients as hold
	loop3 = task.LoopingCall(timeout_idle_clients)
	loop3.start(client_timeout) # call every second
	
	# Create the reactor
	reactor.listenSSL(port, factory, ServerContextFactory())
	reactor.run()
	
	Reactor:   twisted     。         reactor,        ,   factory,factory    protocol。
dnmap_client:
	check_clean
	
	NmapClient(protocol)
	
	NmapClientFactory(factory)
	
	process_commands
	
 	reactor.connectSSL(str(server_ip), int(server_port), factory, ssl.ClientContextFactory())
	Reactor:   twisted     。         reactor,        ,   factory,factory    protocol。

좋은 웹페이지 즐겨찾기