【问题标题】:Can TIdHTTPServer and TIdHTTP in same executable connect?同一可执行文件中的 TIdHTTPServer 和 TIdHTTP 可以连接吗?
【发布时间】:2013-02-23 16:38:59
【问题描述】:

我有一个使用 TIdHTTPServer 的程序。现在我想使用与 TIdHTTPServer 对话的 TIdHTTP 编写一些自动化测试。测试代码在程序本身中。

当 TIdHTTP 尝试连接时出现“套接字错误 #10061 连接被拒绝”。引发异常。我猜那是因为 TIdHTTPServer 已经在使用该端口了。

在同一个可执行文件中的 TIdHTTPServer 和 TIdHTTP 是否可以相互通信?如果有,怎么做?

【问题讨论】:

  • 您可以在同一个应用程序中拥有 TCP 服务器和客户端。也许您的防火墙解决方案阻止了您的服务器?
  • 感谢 iMan。看来我的应用已经被允许通过防火墙了。

标签: delphi delphi-xe2 indy


【解决方案1】:

是的,它们可以在同一个可执行文件中运行并相互连接。只需在您传递给 TIdHTTP 的 URL 中指定(一个)TIdHTTPServer 的侦听 IP,例如:

with IdHTTPServer1.Binding.Add do
begin
  IP := '127.0.0.1';
  Port := 80;
end;
IdHTTPServer1.Active := True;
...
IdHTTP1.Get('http://127.0.0.1/');

【讨论】:

  • 啊,确实有效。但我的真实代码没有。我要调查一下!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-25
  • 1970-01-01
  • 2016-05-28
  • 1970-01-01
  • 2021-05-08
相关资源
最近更新 更多