9
또한 클라이언트 인 트위스티드 서버를 어떻게 만듭니 까? 반응기가 수신 대기하는 동안 동시에 연결할 수 있고 수신 할 수있는 동일한 서버 인스턴스에 연결하는 데 사용할 수도 있습니다.클라이언트이기도 한 꼬인 서버를 작성하는 방법은 무엇입니까?
또한 클라이언트 인 트위스티드 서버를 어떻게 만듭니 까? 반응기가 수신 대기하는 동안 동시에 연결할 수 있고 수신 할 수있는 동일한 서버 인스턴스에 연결하는 데 사용할 수도 있습니다.클라이언트이기도 한 꼬인 서버를 작성하는 방법은 무엇입니까?
reactor.listenTCP
및 reactor.connectTCP
으로 전화하십시오. 원하는만큼 다양한 종류의 연결 (서버 또는 클라이언트)을 가질 수 있습니다. 예를 들어
:
from twisted.internet import protocol, reactor
from twisted.protocols import basic
class SomeServerProtocol(basic.LineReceiver):
def lineReceived(self, line):
host, port = line.split()
port = int(port)
factory = protocol.ClientFactory()
factory.protocol = SomeClientProtocol
reactor.connectTCP(host, port, factory)
class SomeClientProtocol(basic.LineReceiver):
def connectionMade(self):
self.sendLine("Hello!")
self.transport.loseConnection()
def main():
import sys
from twisted.python import log
log.startLogging(sys.stdout)
factory = protocol.ServerFactory()
factory.protocol = SomeServerProtocol
reactor.listenTCP(12345, factory)
reactor.run()
if __name__ == '__main__':
main()
음 .. 내가 어떻게 당신이 제발 계몽 수, 청취 서버에 연결하기 위해 위와 같은 코드를 사용하지 않는? – Marconi
또한 standardio와 함께 사용할 수도 있습니다. 서버/클라이언트가 배경에서 수락/연결할 수 있지만 명령을 입력 할 수 있기를 원합니다. – Marconi
위의 코드는 나가는 연결을 만듭니다. 이것이 바로 lineReceived의 connectTCP가하는 일입니다. 이게 당신이 원하는 것과 어떻게 다릅니 까? 또한 stdio와 함께 사용하려면 twisted.internet.stdio.StandardIO 인스턴스를 만들어야합니다. listenTCP 및 connectTCP와 마찬가지로이 이벤트 소스는 Twisted의 다른 이벤트 소스와 함께 만들 수 있고 함께 존재할 수 있습니다. –