Twisted Framework Server Herstellen von Verbindungen als Client?

assen Sie mich zunächst meinen Code und den zurückgegebenen Fehler anzeigen:

print "before import"
from twisted.internet import protocol #  imports
print "after protocol"
from twisted.internet import reactor
print "after reactor"
from twisted.internet.endpoints import TCP4ServerEndpoint
print "after import"

class Echo(protocol.Protocol):
    """docstring for Echo"""
    def connectionMade(self):
        cADDR = self.clnt = self.transport.getPeer().host
        print "...Connection made with {0}".format(cADDR)
    def dataReceived(self, data):
        self.transport.write(data)

class EchoFactory(protocol.Factory):
    """docstring for EchoFactory"""
    def buildProtocol(self, addr):
        return Echo()


server = TCP4ServerEndpoint(reactor, 45002)
server.listen(EchoFactory())
reactor.run()

Wie Sie sehen, habe ich einige print-Anweisungen erstellt, um zu debuggen, welcher Import das Problem verursacht. Nun zum Fehler:

before import
after protocol
Traceback (most recent call last):
  File "C:\Users\Sa'id\Documents\Learning Programming\Python\Core Python Application Programming\Chapter 2 - Network Programming\Twisted\twisted_intro.py", line 9, in <module>
    from twisted.internet import reactor
  File "C:\Python27\lib\site-packages\twisted\internet\reactor.py", line 39, in <module>
    default.install()
  File "C:\Python27\lib\site-packages\twisted\internet\selectreactor.py", line 196, in install
    reactor = SelectReactor()
  File "C:\Python27\lib\site-packages\twisted\internet\selectreactor.py", line 72, in __init__
    posixbase.PosixReactorBase.__init__(self)
  File "C:\Python27\lib\site-packages\twisted\internet\base.py", line 499, in __init__
    self.installWaker()
  File "C:\Python27\lib\site-packages\twisted\internet\posixbase.py", line 286, in installWaker
    self.waker = self._wakerFactory(self)
  File "C:\Python27\lib\site-packages\twisted\internet\posixbase.py", line 81, in __init__
    client.connect(server.getsockname())
  File "C:\Python27\lib\socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)
socket.error: [Errno 10061] No connection could be made because the target machine actively refused it
>>> 

Aus irgendeinem Grund versucht mein Twisted-Server, Verbindungen herzustellen. In Wirklichkeit sollte es derjenige sein, der auf die Verbindungen wartet und sie nicht herstellt. Und wie Sie an dem Fehler erkennen können, wird unmittelbar vor dem @ gedruckreactor importieren, aber nicht danach, so dass diereactor ist hier wirklich das Thema. Ich habe dies auf einer anderen Website ohne großen Erfolg gepostet, aber der Antwortende sagte, dass dies daran lag, dass der Reaktor versuchte, ein @ einzurichte_SocketWaker und etwas hat es daran gehindert, es einzurichten. Er sagte, dass das Ausschalten Ihrer Firewall zum Funktionieren führen würde, aber nach dem Versuch wurde derselbe Fehler zurückgegeben. Nur eine Anmerkung, der Port, den ich hosteEcho() server on wird an den Port weitergeleitet, daher ist der Port wahrscheinlich nicht das Problem. Jede Eingabe wäre sehr dankbar.

Vielen Dank

Antworten auf die Frage(2)

Ihre Antwort auf die Frage