2011-07-21 7 views
1

私はTwistedの初心者です。 ==================Twisted Documentsについて

class QuickDisconnectProtocol(protocol.Protocol): 

def connectionMade(self): 

    print "Connected to %s." % self.transport.getPeer().host 

    self.transport.loseConnection() 

:最近、私は以下のように本書では本書「ツイストネットワークプログラミングのエッセンシャル」【選択例2-3を読んでいます================

self.transport.loseConnection()

ところでメンバー "輸送"? 私はプロトコルでそれを見つけることができませんでした。

それはEx2-4に来る同じ質問...

は、誰もがツイスト文書を読む方法についての手掛かりを持っていますか?ありがとう!

答えて

1
def makeConnection(self, transport): ([source][1]) 
    """ 
    overridden in twisted.protocols.amp.BinaryBoxProtocol, 
    twisted.protocols.ftp.ProtocolWrapper, twisted.protocols.ftp.SenderProtocol, 
    twisted.protocols.policies.ProtocolWrapper, 
    twisted.protocols.stateful.StatefulProtocol` 

    Make a connection to a transport and a server. 
    This sets the 'transport' attribute of this Protocol, and calls the connectionMade() 
    callback. 
    """ 

トランスポートは、使用しているものは何でもへの接続である、などのTelnet、SSH、ファイル、同じようtransportのオンラインAPIドキュメントを検索し、参照すなわち

ここ

http://twistedmatrix.com/documents/8.2.0/api/twisted.conch.ssh.transport.SSHTransportBase.html

あなたが望む場所に応じて http://twistedmatrix.com/documents/8.2.0/api/twisted.internet.interfaces.ITransport.html

Known subclasses: twisted.conch.insults.insults.ITerminalTransport, 
twisted.conch.telnet.ITelnetTransport, twisted.internet.interfaces.IProcessTransport, 
twisted.internet.interfaces.ITCPTransport 

Known implementations: twisted.conch.ssh.channel.SSHChannel, 
twisted.internet._posixstdio.StandardIO, twisted.internet._win32stdio.StandardIO, 
twisted.internet.abstract.FileDescriptor, twisted.internet.iocpreactor.abstract.FileHandle, 
twisted.internet.protocol.FileWrapper, twisted.protocols.loopback._LoopbackTransport, 
twisted.protocols.loopback.LoopbackRelay 

から、存在するトランスポート場合は、いくつかあります接続する場合は、makeConnection(transport)を呼び出すときにそのうちの1つを使用し、そのときはがプロトコルの属性であるになります。

+0

ありがとうございました!私はこれをキャッチしました "これは、このプロトコルの 'トランスポート'属性を設定します。ここで、このプロトコルの"トランスポート "属性をドキュメントで見つけることができますか?私はsshのようなプロトコルの実装をチェックしましたが、属性の転送がどこにあるのか分かりません。 – futuredaemon

+0

トランスポートはプロトコルの一部ではありません。どのプロトコルでも、さまざまな種類のトランスポートが使用できます。 'makeConnection'が呼び出されるとプロトコルに渡されます(私はそのユーザが仮定します)、Pythonはそれを' transport'アトリビュートに割り当てます。だから、最初にトランスポートを選んで(自分の投稿を編集していくつかのリストを作成した)、次に 'self.makeConnection(transport)'を呼び出してプロトコルの属性を__becomes__します。 – agf

+0

ありがとう!私はあなたの平均を持っています〜 – futuredaemon