没有解决众所周知的idMappedPortTCP问题?

时间:2012-07-31 21:08:10

标签: delphi delphi-xe2

我使用Delphi XE2和indy 10.5.8.0

我在6年多前遇到了这篇文章中描述的完全相同的问题!

http://www.delphigroups.info/2/1/213924.html

我有一个简单的表单,只有idMappedPortTCP组件设置为活动状态。 它按预期工作几秒钟转发输入/输出,而不是突然冻结。 组件停止响应,而应用程序中的其他所有内容仍然有效

可惜的是同样的项目就像indy9的冠军一样!但我不能使用indy9我必须坚持使用indy10 :(

我无法相信没有人为这个众所周知的问题提供解决方案或解决方法。必须有一个解决方案!

1 个答案:

答案 0 :(得分:9)

当时没有做任何事情,因为没有任何关于它的事情。正如我在6年前的讨论中所解释的那样,根本问题是由微软在某些条件下在旧操作系统版本下的冻结API函数引起的。当时那不是印第安人的问题,今天不是印第安人的问题。今天,select()再次挂起的唯一方法是,它是否正在等待套接字上的状态更改从未发生过。因为默认情况下Indy使用无限超时,所以当Indy真的是一个网络问题时,它看起来像是一个挂起。换句话说,Indy正在等待从未到过的入站数据。您可以使用数据包嗅探器来验证。