2012-05-29 101 views
5

我使用DataSnap(VCL應用程序)在Delphi XE中編寫了一個多層應用程序套件。通過DataSnap實現TCP/IP連接

這會在我的公司內部使用,主要是爲了取代過時的傳真通信。

一切工作正常,但我遇到了一個不愉快的情況:服務器機器在路由器後面,所以它有一個內部網絡IP。我(在路由器中)將端口211(DataSnap默認值)上的所有傳入連接轉發到服務器的內部IP,並且大約8次(所有客戶端連接到服務器都沒有任何問題)。

問題是,其餘2次我得到各種連接錯誤(大多數連接超時)。當它這樣做時,我必須關閉並重新打開服務器應用程序(一些)客戶端,然後才能正常工作。

現在我仍然處於設計階段,所以這只是一個麻煩,但是當我釋放它時,我不想告訴所有人不要關閉應用程序(一旦它工作,它就會工作,沒有更多問題),請關閉並在每次出現連接問題時重新打開應用程序。

我該如何消除這個問題?

我只有(只看)NetCat和SoCat,但對我來說這似乎矯枉過正。有沒有解決這個問題的另一種方法?

+2

當您遇到問題時,您是否檢查過路由器日誌以查看它可能是什麼? –

+0

到目前爲止我沒有發生過。我現在就做,併發布結果。謝謝。 – cipnec

+0

再次感謝你Joachim。我非常愚蠢的是不檢查路由器日誌。無論如何,問題確實存在,因爲路由器的內部防火牆有時會阻止我的應用程序。問題解決了! – cipnec

回答

2

解決方案是關閉路由器的內部防火牆。