Python과 Twisted를 사용하여 간단한 TCP 서버를 구성하고자합니다.뒤틀린 : 푸시 프로듀서 예제가있는 tcp 서버?
서버가 시작되고 연결을 기다립니다. 이미 클라이언트가 아닌 비 파이썬 응용 프로그램이 있습니다. 연결되면 서버는 일정한 간격 (예 : 1 초)으로 데이터를 보내기 시작합니다.
서버가 정적 파일 (한 번에 한 레코드)에서 데이터를 읽으면이 부분을 알아낼 수 있어야합니다.
일단 클라이언트가 연결되면 푸시 생성자를 사용하여 데이터를 푸시한다고 가정합니다.
공장이 꼬인 상태의 간단한 tcp 서버가 있는데 connectionMade/dataReceived 등등에 반응 할 수 있지만 그럴 수는 없지만 푸시 생성자을 연결하는 방법은 입니다.
누구나 tcp 서버가있는 푸시 생성자가 뒤틀린 것으로 보이는 모든 사례를 알고 있습니까?
thedata = '''
Questa mattina
mi son svegliato
o bella ciao, bella ciao,
bella ciao, ciao, ciao
questa mattina
mi son svegliato
ho trovato l'invasor!
'''.splitlines(True)
class Push(protocol.Protocol):
"""This is just about the simplest possible protocol"""
def connectionMade(self):
for line in thedata:
if not line or line.isspace():
continue
self.transport.write(line)
time.sleep(1.0)
self.transport.loseConnection()
이 하드 코딩 된 데이터를 가지고 있지만, 당신이 파일의 값을 읽어하는 대신 문제가되지 않습니다 말 : 같은 단순한 일에 대해 어떻게
+1 좋았어, 나는 그걸 잘못 본 것이 없으므로 나는 그 예를 따르겠다. 나는 꼬인 문서를 읽고 있었고 TCP 서버로 푸시 프로듀서의 예를보기 위해 인터넷 검색을하고 있었기 때문에 물었다.하지만 내 목적에 맞으면 네가 제공 한 예제가 충분하다. (예, 필자는 그렇지 않다. 문제가 ...) – stefanB
@stefanB, OK, 문제가 생겼을 때 (예 : 원하지 않는 방식으로 서버를 잠자는 호출이있을 경우) 질문을 편집하고 여기에 의견을 추가하여 Stack Overflow를 통해 자동으로 알고 ;-) 그리고 우리는 무엇을 할 수 있는지 알게 될 것입니다! -) –
다음 5 분을 말하면 connectionMade()에 앉아 계속 클라이언트에 데이터를 보내면 다른 이벤트가 발생하지 않을 것이라고 생각했습니다. .하지만 무슨 일이 일어날 지 알 것입니다. (얼마나 많은 시간을 가지고 플레이해야하는지에 따라 달라집니다.) – stefanB