2012-05-29 6 views
5

Ich schrieb eine mehrschichtige Anwendungssuite in Delphi XE mit DataSnap (VCL-Anwendung).TCP/IP-Konnektivität über DataSnap

Dies wird intern, in meiner Firma, meist verwendet, um die veraltete Faxkommunikation zu ersetzen.

Alles funktioniert gut, aber ich stieß auf eine unangenehme Situation: Der Server-Rechner ist hinter einem Router, so dass es eine interne Netzwerk-IP hat. Ich leitete (im Router) alle eingehenden Verbindungen auf Port 211 (DataSnap-Standard) an die interne IP-Adresse des Servers weiter und etwa acht Mal von zehn Clients stellten alle Clients eine Verbindung zum Server her.

Das Problem ist, dass für den Rest 2 mal bekomme ich alle Art von Verbindungsfehlern (meist Verbindung Zeit abgelaufen). Wenn ich das mache, muss ich entweder die Serveranwendung schließen (oder einige der Clients), und dann funktioniert es.

Momentan bin ich noch in der Entwurfsphase, also ist es nur ein Ärger, aber wenn ich es loslasse, will ich nicht jedem sagen NIE, die Anwendung jemals zu schließen (sobald es funktioniert, es funktioniert, keine weiteren Probleme), schließen Sie die Anwendungen bei jedem Verbindungsproblem und öffnen Sie sie erneut.

Wie kann ich dieses Problem beheben?

Ich hatte (nur) einen Blick auf NetCat und SoCat, aber (für mich) scheint es Overkill für diese Situation. Gibt es eine andere Möglichkeit, dies zu lösen?

+2

Wenn Sie Probleme haben, haben Sie die Router-Protokolle überprüft, um zu sehen, was es sein könnte? –

+0

Ist mir bisher nicht eingefallen. Ich mache es jetzt und poste die Ergebnisse. Vielen Dank. – cipnec

+0

Danke nochmal Joachim. Ziemlich dumm von mir, das Routerlog nicht zu überprüfen. Wie auch immer, das Problem war in der Tat, da die interne Firewall des Routers manchmal meine Apps blockierte. Problem gelöst! – cipnec

Antwort

2

Die Lösung war Router internen Firewall ausschalten.