问题标签 [indy10]

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 回答
916 浏览

delphi - Delphi 2010 - 套接字端口 119 不起作用

我正在端口 119 上打开一个套接字(使用 idHttpServer),它打开正常(没有报告错误,我可以通过查看 netstat 看到端口 119 已打开)。但是当我的套接字客户端向服务器 119 端口发送请求时,服务器没有收到请求,客户端也不工作。如果我将套接字端口更改为另一个(例如 90、80、120)它工作正常。
我猜套接字端口 119 是一个 SO 保留端口(但该端口上没有运行任何东西,我确信这一点)。我也知道新闻协议使用了 119 端口(但没有新闻服务器)。
有谁知道为什么我无法连接到 119 端口?同样的事情发生在 110 端口(pop,但不是 pop server on)。这让我快疯了。

Delphi 2010
最新 indy 版本
Windows 2003 server 企业版。

0 投票
3 回答
8594 浏览

delphi - 如何使用 indy 10 和 delphi 7 接收带有文件附件的电子邮件?

如何使用 indy 10 和 delphi 7 接收带有文件附件的电子邮件?

0 投票
1 回答
1301 浏览

delphi - indy 10 TIdWebDav 是否支持对用户名中包含 unicode 字符的用户进行身份验证?

我尝试连接的网络服务的作者告诉我,我发送到他们的 Apache 网络服务器的 webdav 模块的用户名是在没有标头中的 encoding=utf-8 或 mime64 编码的情况下进入的标头是预期的,因此,上传用户的用户 ID(可能包含 Unicode 字符)不会被接受和解码。

我想知道的是,我能否以某种方式在 TidWebDAV 中设置一个属性,该属性将改变它如何进行 http 编码,从而允许对包含无法以纯 ascii 显示的 unicode 字符的用户名进行身份验证。我想也许 AuthenticationManager 属性可能与它有关。在 indy 9 文档中,它说“这个属性没有做任何事情”。它在 Indy 10 中有什么作用吗?看起来它已经实现了。

我还不明白的奥秘包括:

(1) 'logintype'(整数值)在 webdav 中有什么作用,我将其设置为什么值?目前我的代码将其设置为 3。

(2) 是否需要使用 hoForceEncodeParams 强制编码参数?

(3) 我如何以远程端可以看到的形式检查标题?

更新:正如 remy 所说,NTLM 身份验证支持 unicode 字符。我还发现您可以在基本身份验证中以“用户名:密码”形式使用 unicode utf8 mime (base64) 编码字符串。

0 投票
2 回答
5280 浏览

sockets - 如何在 c++ builder 中使用 Indy TIdTCPServer 以 UTF-8 发送文本

我的客户端 j2me 应用程序使用 UTF-8 读取文本输入流

我的服务器在连接时使用此语句发送文本

但结果文本显示奇怪的字符,如???????????????????????????? ????????????

我在哪里做错了?

当我尝试以这种方式从 utf-8 编码数据文件加载时

这都一样!

0 投票
1 回答
868 浏览

delphi - 为什么单独线程中的 TidTCPClient 会阻塞主线程?

一个单独的线程创建一个 TidTCPClient 和一个 TTimer。TTimer 设置为 3s,如果 TCPClient 未连接,则调用 TCPClient.Connect。
如果没有要连接的服务器,这将导致每 3 秒尝试连接一次。

主线程 (UI) 什么都不做,但是如果我用鼠标抓住窗口并在屏幕上缓慢移动,它会每 3 秒卡住大约 2 秒,然后它会跳转到鼠标光标位置并跟随鼠标再次,直到发生下一次连接尝试。

换句话说,当 TCPClient 尝试连接时,主线程似乎被阻塞了。

为什么会发生这种情况,即使 TCPClient 在它的单独线程中?

0 投票
2 回答
761 浏览

delphi - 是否可以立即终止 TCPClient?

我的应用程序使用 TidTCPClient 将数据发送到服务器。服务器使用 TidTCPServer。一切正常,我现在正在尝试处理意外情况。

当我断开服务器和客户端之间的网线,然后尝试关闭客户端时,它等待了很长时间,直到它最终关闭:

TCPClient.Free 是它等待的地方。这有时是 30 秒,有时甚至更长。

有没有办法立即终止 TCPClient,不管它当时在做什么?

0 投票
1 回答
612 浏览

delphi - 如何将数组或向量(有联系人列表)从 IdTCPServer 发送到 IdTCPClient (indy10)

1) 现在我正在编写 IM 聊天系统,我遇到了一些问题,如何将包含信息的矢量从服务器发送到客户端

2)有什么方法可以在两个客户端之间进行通信??

我使用 CBC2010 - Indy10

0 投票
2 回答
11674 浏览

delphi - Delphi中的TCPclient.connected问题 - Indy

我在 Delphi 的 Indy 中遇到了IdTCPclient.connected函数的问题。我正在使用 Indy10 和 Delphi2010 环境。我的问题是每次我检查与IdTCPclient.connected的 TCP 连接时,它都会引发异常,并出现这些错误EidSocketErrorEidReadTimeOut。有什么方法可以断开连接并重新连接?(如重置连接)。

注意:我设置 TCPClient.ReTimeout:= 30000;

重置连接的实现编码如下。

但有些时候,我得到了异常,它根本无法连接。我不确定我做错了什么。

我应该这样做吗?

  • 先断开
  • 清除输入缓冲区
  • 销毁 TCPclient
  • 重新创建新的 TCPclient
  • 然后再次连接

如果是这样,有人可以为我提供一种如何正确执行此操作的方法吗?

此外,在我的编码中还有另一个功能可以重新连接 TCP。它也给了我例外。在向 TCP 发送消息之前,我会检查连接。如果没有连接,我会重新连接五次。

通过以上两种编码,程序可以很好地处理重新连接和重置连接。但在某些时候,程序根本无法重新连接或重置连接。

  • 遇到异常应该怎么办?我应该从异常重新连接吗?
  • 我们如何构建编码以定期检查连接?
  • 我们如何构建编码以在连接丢失时恢复连接?

亲切的问候,

0 投票
5 回答
5823 浏览

delphi - TIdHTTPServer 文件上传

我正在尝试将文件上传到 Indy(10.5.5 版)TIdHTTPServer。
我一直在寻找解决方案,但到目前为止没有运气,我发现旧版本的 Indy 与 Delphi 2010 附带的版本不兼容。

我希望实现简单地使用“multipart/form-data”将文件上传到服务器并对其进行解码,就这么简单,感谢您的帮助。

0 投票
3 回答
3622 浏览

delphi - 德尔福。使用 idHTTP 显示获取。在多语言 Windows 中获取 Unicode 文本

我需要你的帮助。请帮我。

我有德尔福 2010

我尝试 idHTTP.Get 一个带有 Unicode 文本(俄语)的文件从站点到 Windows 7 英文版的 MemoryStream 中。

然后我将这个带有 Unicode 文本的 MemoryStream 加载到例如 Memo 中。

如果我在控制面板中将俄语设置为“非 Unicode 程序的语言”,则文本会正确显示在备忘录中。但是如果我设置 Enlish - 我会得到错误的字符 (*$^#~!@)。

如何使用 idHTTP.Get 从站点加载 Unicode 中的俄语文本并在任何 Windows(中文、英文等)中正确显示?

谢谢你的帮助!!!