reactor.listenTCP
ve reactor.connectTCP
'u arayın. İstediğiniz kadar çok farklı türde bağlantıya sahip olabilirsiniz - sunucular veya istemciler. Örneğin
:
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()
um .. Ben nasıl bana lütfen aydınlatmak, dinleme sunucusunda bağlanmak için yukarıdaki aynı kodu kullanmak alamadım? – Marconi
da, bunu standardio ile birlikte nasıl kullanabileceğimin bir fikriniz var mı? Diyelim ki, sunucu/istemci arka plan üzerinde kabul/bağlantı kurabilirken, aynı zamanda komutları da girmek istiyorum. – Marconi
Yukarıdaki kod giden bir bağlantı yapıyor. LineReceived içinde connectTCP böyle yapar. Bu senin istediğin şeyden nasıl farklı? Ayrıca, stdio ile kullanmak için, bir noktada bir twisted.internet.stdio.StandardIO örneği oluşturun. ListenTCP ve connectTCP gibi, Twisted'in diğer herhangi bir etkinlik kaynağıyla oluşturabileceğiniz ve birlikte oluşturabileceğiniz bir etkinlik kaynağıdır. –