कॉल 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()
स्रोत
2010-07-18 14:43:30
उम .. मैं यह कैसे एक ही कोड ऊपर सुनने के सर्वर पर कनेक्ट करने के लिए, आप मुझे प्रबुद्ध कर सकते हैं कृपया उपयोग करने के लिए नहीं मिलता है? – Marconi
भी, क्या आपको कोई आइडिया है कि मैं इसे मानक के संयोजन के साथ कैसे उपयोग कर सकता हूं? कहें, जबकि सर्वर/क्लाइंट पृष्ठभूमि पर स्वीकार/कनेक्ट कर सकता है, मैं भी कमांड दर्ज करने में सक्षम होना चाहता हूं। – Marconi
उपरोक्त कोड एक आउटगोइंग कनेक्शन बनाता है। लाइन में कनेक्ट टीसीपी यही है। आप जो चाहते हैं उससे अलग कैसे है? इसके अलावा, stdio के साथ इसका उपयोग करने के लिए, बस किसी बिंदु पर एक twisted.internet.stdio.StandardIO उदाहरण बनाएं। ListenTCP और कनेक्ट टीसीपी की तरह, यह एक इवेंट स्रोत है जिसे आप बना सकते हैं और ट्विस्ट से किसी अन्य ईवेंट स्रोत के साथ सह-अस्तित्व में हैं। –