저는 파이썬을 처음 접했고 온라인 보안 과정을 일부 밟고 있습니다. 나는 클래스의 전체적인 개념이 아직 명확하지 않다는 것을 인정해야한다. 그래서 이것이 내가 그 개념을 완전히 이해하지 못하는 이유 일 것이다. python.org 사이트에서 그들은 다음과 같이 말합니다 :Python SocketServer - BaseRequestHandler를 서브 클래 싱하는 목적
서버를 생성하려면 몇 단계가 필요합니다. 먼저 BaseRequestHandler 클래스를 하위 클래스 화하고 handle() 메서드를 재정 의하여 요청 처리기 클래스를 만들어야합니다. 이 방법은 들어오는 요청을 처리합니다. 둘째, 서버 클래스 중 하나 인 을 인스턴스화하여 서버의 주소와 요청 처리기 클래스를 전달해야합니다.
누군가가 더 잘 설명 할 수 있습니까? 왜 하위 클래스를 만들어야합니까? 이론적 인 관점에서 수업을 사용하는 힘을 이해할 수 있습니다. 아직 테스트 스크립트에서 사용하지 않았기 때문에 "아하"순간을 얻을 수 있습니다.
#!/usr/bin/python
import SocketServer
class EchoHandler(SocketServer.BaseRequestHandler):
def handle(self):
print "Got Connection from : ", self.client_address
data = 'dummy'
while len(data):
data = self.request.recv(1024)
print "Client sent: " + data
self.request.send(data)
print "client left"
serverAddr = ("0.0.0.0", 9000)
server = SocketServer.TCPServer(serverAddr, EchoHandler)
server.serve_forever()
이것은 사과에 사과가 아닐 수도 있지만 개념적으로 이것은 스레딩 가져 오기 스레드 대 수입 스레드 대 쓰는 것과 비슷합니다. 필자가이 글을 쓰면서 비유가 원격으로도 비슷하다고 확신하지는 않지만 SocketServer.BaseRequestHandler는 서브 클래스 섹션에서 호출 할 수있는 프레임 워크의 한 형태인가? – user2565554