问题标签 [indy-9]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
10484 浏览

delphi - 多播消息到同一台机器上的多个客户端

我试图编写一个服务器/服务,它每秒左右在局域网上广播一条消息,有点像服务发现。

该消息需要由可能位于同一台机器或不同机器上的多个客户端程序接收。但是每台机器上可能同时运行多个程序。

我使用 delphi7,带有 indy 9.0.18

我卡住的地方是我是否应该使用 UDP(TIdUDPClient/Server) 或 IP MultiCast (TIdIPMCastClient/Server) 或者如果它甚至可能......

我设法让它与每台机器一个客户端的 IP Multi Cast 一起工作,但即使在多次尝试使用不同的绑定之后.. 最大/最小端口等,我似乎无法找到解决方案。

0 投票
3 回答
6867 浏览

delphi - 谁将 TCP 窗口大小设置为 0,Indy 还是 Windows?

我们有一个应用程序服务器,当网络出现拥塞时(在客户端站点),我们观察到它会发送 TCP 窗口大小为 0 的标头。

我们想知道是 Indy 还是底层 Windows 层负责将 TCP 窗口大小从标称的 64K 向下调整以适应可用吞吐量。
我们将能够在它变为 0 时采取行动(什么都没有发送,用户等待 => 不好)。

因此,欢迎任何信息、链接、指向 Indy 代码的指针......

免责声明:我不是网络专家。请让我的答案可以理解;-)
注意:它是 Windows Server 2003 SP2 上的 Indy9/D2007。

更多血腥细节:
TCP 零窗口案例发生在与数据库服务器通信的中间层。
它发生在最终用户抱怨客户端应用程序速度变慢的同一时刻(这就是触发网络调查的原因)。
已确定导致瓶颈的 2 个主要网络问题。
TCP 零窗口是在网络拥塞时发生的,但可能是也可能不是由它引起的。
我们想知道这种情况何时发生,并有办法在我们的代码中做某事(至少记录)。

那么核心问题是谁将窗口大小设置为 0,在哪里设置?
在哪里挂钩(在印地?)知道什么时候发生这种情况?

0 投票
1 回答
1195 浏览

delphi - 德尔福使用 Indy 10

我正在使用 Delphi 4,并且我想创建一个标准的非阻塞套接字,而不需要混乱的 Indy 代码(Pv4 和 Pv6)。我想获取计算机的 IP 地址并能够 ping 有任何人这样做。我可以用 Indy 10 或 Indy 9 来做吗?有没有人编写代码来做这些事情并请对其进行测试。

0 投票
5 回答
431 浏览

delphi - 如果我编写程序以使用 Indy 9,我的程序能否在客户站点使用 Indy 10?

我在 Delphi 7 中编写了一个程序(包括一个使用 Indy 的 ModBus 组件)。在我的机器上,它使用 Indy 9 并且工作正常。它通过 ModBus 协议与其他机器进行良好的通信。但是,当程序在另一台机器上运行时,我会得到 90-100% 的 CPU 负载。不幸的是,这台机器不在我的办公室,而是“在世界的另一端”。如何确定这台机器使用的是 Indy 9 还是 Indy 10?而且,如果它正在运行 Indy 10,这可能是问题还是这不太可能?

0 投票
1 回答
841 浏览

delphi - 如何从 hotmail/live delphi 中读取消息

在我的应用程序中,我正在尝试阅读来自我的 hotmail 帐户的新消息。

从 hotmail/live.com pop3 或 IMAP 阅读电子邮件的最佳方法是什么?

任何人都可以链接一些最佳方法的演示代码吗?

问候

0 投票
1 回答
998 浏览

delphi - 控制长时间运行的关键 ISAPI 进程

设想:

  • 客户端使用 POST 对 IIS 7.5 服务器进行 ISAPI 调用 - 该调用将生成任务关键输出以分发给众多用户。(在这种情况下使用带有 Indy 9 HTTP 客户端的 Delphi XE);
  • ISAPI 进程需要很长时间才能完成(它在客户端线程化);
  • 在 POST 调用返回之前,用户中止或客户端机器出现故障,终止客户端连接并使 ISAPI 进程在 IIS 7.5 服务器上运行。

问题:

  • IIS 7.5 对该线程做了什么,当客户端/用户中止并终止连接时,该线程仍在执行?
  • 即使客户端已断开连接,服务器端线程是否会完成处理,或者 IIS 7.5 是否会在某个时候终止该线程,可能会在中止的过程中留下一团糟?
  • 这个时间是否依赖 - 取决于服务器端进程完成需要多长时间?
  • 这可以控制吗 - 即使客户端已中止,我是否可以指示 IIS 完成该过程?如果是这样,怎么做?
0 投票
1 回答
1851 浏览

web-services - Indy IdHTTPServer GET 响应参数随机丢失

我正在为基于平板电脑的 HTML 客户端编写基于 Delphi 的 Windows 服务器。

大多数文件都是未经处理的,就像您对 Web 服务器的期望一样,但少数特殊关键字被解释为与服务器上其他软件交互的特殊命令。

大多数时候,一切都很好。但随后,似乎是随机的,我会遇到访问冲突,这将是在尝试检索其中一个 GET 参数时。

这让我发疯,所以我将整个事情封装到一个函数中,然后开始测试TIdHTTPRequestInfo数据是否存在(此处显示为类中的公共属性Request):

我实际上没想到会触发两个 Assigned() 检查中的任何一个,但是,随机地,第二个会被触发,我会看到“请求参数在哪里?” 按 F5 后在我的日志文件中(慢慢地,我没有敲击服务器)。

当我在块内抛出一个断点并在到达该点时检查 Request 的值时,整个TIdHTTPRequestInfo 结构都填充了默认的空数据。如果我检查浏览器以查看它发送的请求,这就是我所期望的……(例如,通常只是对“ /details?id=222 ”的请求)。

我应该注意到我正在 Windows 7 64 位上进行开发,所以我一直对由它引起的这种事情感到偏执。我不止一次遇到了问题,结果证明是因为 64 位的古怪。

附加信息:印地 9,德尔福 2007。

希望这足够清楚,可以理解。我不是在寻找具体的答案,因为我提供的还不够;我只是在寻找关于从这里去哪里的建议。非常感激!:)

0 投票
2 回答
613 浏览

delphi - Indy9 获取原始电子邮件标题?

Indy9 是否有任何方法可以获取特定的原始电子邮件标头(例如,“主题”或“发件人”),它仍然包含传输编码(即:在 Unicode 支持不佳的旧版本 Delphi 上没有被 DecodeHeader 破坏),还是我必须手动解析整个电子邮件标题才能提取此信息?

0 投票
1 回答
1215 浏览

delphi - IndyHandle 到 TIDPEERTHREAD

我将 Indy9 与 Delphi7 一起使用。我想将 Longword (Athread.Handle) 转换回 TIDPEERTHREAD 指针。有没有办法我可以做到这一点?或者有没有其他方法可以“存储”指向长字的指针?

先感谢您。

0 投票
1 回答
6178 浏览

delphi - Delphi Indy IdUdpClient读取操作,没有返回数据

我需要读取电子设备发送的信息(使用 UDP 协议)。我在 Delphi 7 中使用 Indy 组件(版本 9)时遇到问题。您可以在下面看到我的代码。

“bytes_received”的输出值为 0,显然,“buffer”的内容不是我所期望的……我做错了什么?

提前致谢,

伊莫诺