Ich versuche, den Querträger auf einer Remote-Host mit Autobahn [Verdrehte]Anschluss entweder hängt an crossbar.io oder trennt
Ich bin mit einem Code modifizierten Beispiels von PubSub mit Python zu verbinden:
from __future__ import print_function
from os import environ
from twisted.internet import reactor
from twisted.internet.defer import inlineCallbacks
from autobahn.twisted.wamp import ApplicationSession, ApplicationRunner
class Component(ApplicationSession):
def __init__(self, config=None):
ApplicationSession.__init__(self, config)
print("component created")
def onConnect(self):
print("transport connected")
self.join(self.config.realm)
def onChallenge(self, challenge):
print("authentication challenge received")
@inlineCallbacks
def onJoin(self, details=None):
print("session attached")
self.received = 0
for x in range(1, 501):
sub = yield self.subscribe(self.on_event, u'com.myapp.topic{}'.format(x))
if x % 100 == 0:
print("Subscribed to {} topics".format(x))
def on_event(self, i=None):
print("Got event: {}".format(i))
self.received += 1
self.config.extra for configuration, etc. (see [A])
if self.received > self.config.extra['max_events']:
print("Received enough events; disconnecting.")
self.leave()
def onDisconnect(self):
print("disconnected")
if reactor.running:
reactor.stop()
if __name__ == '__main__':
runner = ApplicationRunner(
url=u"ws://localhost:8080/ws",
realm=u"realm1",
extra=dict(
max_events=5000, # [A] pass in additional configuration
),
)
print(runner.log)
runner.run(Component)
Ich habe eine Instanz von Crossbar auf meinem localhost zum Testen ausgeführt, und wenn ich darauf zugreifen, funktioniert alles.
2016-04-01T17:26:16+0000 component created
2016-04-01T17:26:16+0000 transport connected
2016-04-01T17:26:16+0000 session attached
(stuff happens here, events get published, until max is reached)
2016-04-01T17:26:19+0000 Received SIGINT, shutting down.
2016-04-01T17:26:19+0000 disconnected
2016-04-01T17:26:19+0000 Main loop terminated.
Aber wenn ich versuche, auf andere Hosts zu verbinden, werden zwei Dinge passieren: Wenn es ein sicherer Hafen ist:
2016-04-01T17:26:16+0000 component created
2016-04-01T17:26:16+0000 transport connected
(die Sitzung nie angebracht wird, Programm hängt)
wenn es eine unsichere Port ist:
2016-04-01T17:26:16+0000 component created
2016-04-01T17:26:16+0000 transport connected
2016-04-01T17:26:19+0000 disconnected
2016-04-01T17:26:19+0000 Main loop terminated.
(die Verbindung schlägt mich automatica lly bevor die Sitzung verknüpft wird
Der Host, mit dem ich versuche, eine Verbindung herzustellen, hat 8080 für sicheren Port und 8081 für unsicheren. Also alles, was ich ändern ist:
url=u'ws://{hostname}:8080/ws', (or)
url=u'ws://{hostname}:8081/ws',
Ich will wissen, ob ich etwas offensichtlich über WAMP Verbindungen fehlt bin oder wenn dies ist wahrscheinlich ein Konfigurationsproblem auf der Crossbar-Instanz ich zu verbinden bin versucht.