【问题标题】:Check remote host state in a nework using Indy comps使用 Indy comps 检查网络中的远程主机状态
【发布时间】:2012-11-29 05:49:06
【问题描述】:

我有与 Firebird 服务器配合使用的客户端服务器应用程序。每次当客户端连接到服务器时,他们(客户端应用程序)不检查是否有网络连接到服务器,所以此时我的应用程序有时会在服务器计算机关闭或服务停止时冻结,所以首先我如果远程主机已打开或在某个端口有任何监听,则需要检查连接....

在建立连接之前,我需要检查它并确保服务器和服务正在使用 Indy 组件运行。

有什么想法吗?我也可以使用 IcmpClient 来 ping 远程主机,然后建立连接,但哪种方式最理想?

【问题讨论】:

    标签: c++ c++builder indy indy10 c++builder-2010


    【解决方案1】:

    如果您只想检查是否可以访问服务器计算机,您可以执行“ping”来检查。但是,如果您想检查特定的 TCP 端口是否打开,那么找出它的唯一方法是实际进行正确的连接,这会导致“冻结”程序,而如果没有人连接就会超时监听那个端口。

    【讨论】:

    • 对!我正在这样做if ([]->ReplyStatusType==rsTimeOut) { ShowMessage("Host is unreachable. Server is not running"); else {...} }
    猜你喜欢
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    • 1970-01-01
    • 1970-01-01
    • 2014-11-05
    • 2010-09-23
    相关资源
    最近更新 更多