Ich habe eine Crossbar.js-Implementierung, bei der Daten zwischen Client (Website) und Server (Node.js) über einen Crossbar-Websocket-Server gesendet werden. Beide Seiten verwenden Autobahn.JS, um eine Verbindung zum Crossbar-Server herzustellen.Autobahn.JS löscht Verbindung
Die Verbindung funktioniert einwandfrei, aber es scheint, dass sowohl der Client als auch der Server die Verbindung zu zufälligen Zeitpunkten trennen und wiederherstellen. Dies geschieht etwa einmal pro zwei Minuten. Ich sah auch, dass die Verbindungsabfälle nicht gleichzeitig auf beiden Seiten stattfanden. Dies brachte mich auf die Idee, dass das Problem auf der Autobahn-Implementierung liegt, die ich auf beiden Seiten nutze (was für Client und Server ungefähr gleich ist).
Unten ist die Methode, die ich verwende, um eine Verbindung mit dem Crossbar-Server von Node.js herzustellen. Die Version für den Browser ist fast identisch. Ich habe nur das Abonnement geändert und die Variablen const
und let
in var
geändert.
Ich kann den Teil im Code nicht sehen, der Fehler verursacht und den Verbindungsabbruch verursacht. Diese
ist, was die Konsole Ausgänge:
Autobahn closed!
Reason:
lost
Details:
{
reason: null,
message: null,
retry_delay: 1.4128745255660942,
retry_count: 1,
will_retry: true
}
Autobahn closed!
Reason:
lost
Details:
{
reason: null,
message: null,
retry_delay: 1.2303848117273903,
retry_count: 1,
will_retry: true
}
Da die retry_count
Variable ist immer 1
, ich glaube, die Verbindung zwischen diesen Tropfen wiederhergestellt wird. Diese
ist, was die Crossbar-Server-Ausgänge:
2017-08-23T10:46:34+0200 [Router 10622] session "1355162039012002" left realm "SMDC"
2017-08-23T10:46:35+0200 [Router 10622] session "2006451409833362" joined realm "SMDC"
2017-08-23T10:46:37+0200 [Router 10622] session "2006451409833362" left realm "SMDC"
2017-08-23T10:46:37+0200 [Router 10622] session "224071819838749" joined realm "SMDC"
Da der Crossbar-Server ist in der Lage, die Abschaltungen und Verbindungen zur Liste, ich glaube nicht, Crossbar das Problem ist.
Ich hoffe, dass jemand die Einsicht hat, die mir hilft :)