पर पारित कारखाने के लिए पैरामीटर पैरामीटर पास करना मैंने ट्विस्ट sshsimpleserver.py पर आधारित एक sshdaemon लिखा है जो बहुत अच्छा काम करता है।सत्र
http://twistedmatrix.com/documents/current/conch/examples/
लेकिन अब मैं, EchoProtocol करने के लिए एक कमांड लाइन तर्क पारित करने के लिए यह तर्क के आधार पर व्यवहार है बदलना चाहते हैं। मैं यह कैसे कर सकता हूं? इस मामले में मैं अपने प्रोटोकॉल में 'options.test' पैरामीटर पास करना चाहता हूं।
[...]
if __name__ == '__main__':
parser = optparse.OptionParser()
parser.add_option('-p', '--port', action = 'store', type = 'int',
dest = 'port', default = 1235, help = 'server port')
parser.add_option('-t', '--test', action = 'store', type =
'string', dest = 'test', default = '123')
(options, args) = parser.parse_args()
components.registerAdapter(ExampleSession, ExampleAvatar,
session.ISession)
[...]
reactor.listenTCP(options.port, ExampleFactory())
reactor.run()
के बाद से सत्र उदाहरण कारखाना द्वारा बनाई गई है, मैं नहीं कर पा रहे न सत्र निर्माता है और न ही प्रोटोकॉल के लिए अतिरिक्त args पारित करने में सक्षम हो सकता है। मैंने पहले ही विकल्प नाम वैश्विक बनाने की कोशिश की है लेकिन यह प्रोटोकॉल संदर्भ/दायरे में दिखाई नहीं दे रहा है।
बीटीडब्ल्यू। मैंने प्रोटोकॉल क्लास को अपनी फाइल में ले जाया और इसे मुख्य फाइल में आयात किया।
नमूना और सूचक के लिए धन्यवाद, यह एक अच्छा प्रारंभिक बिंदु था। दुर्भाग्य से, प्रोटोकॉल उदाहरण सत्र में बनाया गया है, लेकिन इसका प्रोटोकॉल.session.conn.transport.factory.quote के माध्यम से उपयोग है। – Fabian
ओपनशेल कॉल के भीतर हम सर्वर के प्रोटोकॉल = सर्वरप्रोटोकॉल (कमांडरैकलाइन, स्वयं, उद्धरण) के माध्यम से कमांडरैकलाइन पर उद्धरण अग्रेषित कर सकते हैं। – Fabian