【发布时间】:2014-02-17 22:51:04
【问题描述】:
我使用 DataSnap(VCL 应用程序)在 Delphi XE 中编写了一个多层应用程序套件。
这将在我公司内部使用,主要用于替换过时的传真通信。
一切正常,但我遇到了一个不愉快的情况:服务器机器位于路由器后面,因此它具有内部网络 IP。我将(在路由器中)端口 211(DataSnap 默认)上的所有传入连接转发到服务器的内部 IP,并且大约十分之八的客户端连接到服务器没有任何问题。
问题在于,在剩下的 2 次中,我遇到了各种连接错误(主要是连接超时)。当它这样做时,我必须关闭并重新打开服务器应用程序或(某些)客户端,然后它才能工作。
现在我仍处于设计阶段,所以这只是一个麻烦,但当我发布它时,我不想告诉每个人永远不要关闭应用程序(一旦它工作,它工作,不更多问题),每次出现连接问题时关闭并重新打开应用程序。
我怎样才能消除这个问题?
我(仅)看过 NetCat 和 SoCat,但(对我来说)这种情况似乎有点过分了。有没有其他方法可以解决这个问题?
【问题讨论】:
-
当您遇到问题时,您是否检查过路由器日志以查看可能的问题?
-
到目前为止我还没有想到。我现在就做并发布结果。谢谢。
-
再次感谢约阿希姆。我很愚蠢,不检查路由器日志。无论如何,问题确实存在,因为路由器的内部防火墙有时会阻止我的应用程序。问题解决了!
-
@JoachimPileborg - 您应该将您的评论作为答案,以便 OP 可以接受它并且不会影响宇宙的平衡 :-)
标签: delphi networking tcp datasnap