Indy Changed from Indy10】的更多相关文章

Indy Changed from Indy10 http://stackoverflow.com/questions/16339656/delphi-xe4-indy-compatibility-issue-between-tbytes-and-tidbytes http://stackoverflow.com/questions/19402374/delphi-xe3-indy-compatibility-issue-between-tbytes-and-tidbytes http://st…
为了排查一个Bug今天无意看了看Indy源码,结果吓了一跳.TIdIOHandler.ReadLongWord函数用于读取通讯数据并转换成LongWord类型返回,它做用了一种危险的做法可能会导致数据传输不正确. 函数源码如下: function TIdIOHandler.ReadLongWord(AConvert: Boolean): LongWord;var  LBytes: TIdBytes;begin  ReadBytes(LBytes, SizeOf(LBytes), False); …
indy 10终于随着Delphi2005发布了,不过indy套件在我的印象中总是复杂并且BUG不断,说实话,不是看在他一整套组件的面子上,我还是喜欢VCL原生的Socket组件,简洁,清晰.Indy9发展到了indy10几乎完全不兼容,可叹啊.言归正传.在使用IdTCPServer组件的时候发现了他的漏洞,他的OnConnec,OnExecute,OnDisconnect等事件是在其他线程中执行的,通常情况下这没有问题,但是在特殊的情况下会造成问题,如果其他部分的程序写得有问题就会出现漏洞.…
最近一个项目,最开始使用IdTcpServer,在大压力测试的时候,只连接了800个多一点的客户端(每个客户端连接上之后每秒钟发送一个几十字节的报文,服务器应答).但是持续的时间不会超过10分钟,服务器就会挂掉(经常是服务器突然关闭消失,任何提示都没有).后来优化了互斥量之后,可以连接到1000多个客户端.但是服务器消失的问题依然存在.    今天再一台双CPU,4G内存的服务器上试验了下,居然最也只能连接到2000多个客户端.然后换了Indy10.1.5服务器只做简单的连接和应答,客户端连接之…
当程序需要做耗时操作,例如访问数据库获取较多的数据.获取大文件MD5.网络访问数据量比较大.界面需要频繁刷新等等,都可以用线程来解决界面卡顿的问题,从而优化用户体验. 在知道TIdThreadComponent之前,建立线程一般都使用继承TThread复写execute过程或者使用createthread.继承TThread写的代码要多一点,createthread又不方便控制线程,于是就有了TIdThreadComponent,集两者的优点,只要拖个控件,线程就出来了. TIdThreadCo…
Indy 10.5.8 for Delphi and Lazarus 修改版(2011)    Internet Direct(Indy)是一组开放源代码的Internet组件,涵盖了几乎所有流行的Internet协议.是由Chad Z. Hower领导的一群开发者构建的,Delphi 7中所带的是Indy 9.在其的组件面板上,一共安装有100多个Indy组件.使用这些组件你可以开发基于各种协议的TCP客户和服务器应用程序,并处理相关的编码和安全问题.可以通过前缀Id来识别Indy组件. Id…
由于低版本Indy无法满足网络技术的日益更新,如SSL/TLS请求.RawHeaders与Cookie管理等问题处理. 我本身一直在用Delphi 2007,因为D2009开始底层的编码已不同,旧项目升级XE的话工程量太大,曾升级到Indy 10.2.3解决了SSL问题,后来个别web请求无法返回隐藏数据又升级到10.5.8解决,但同时却发现IdCookieManager不够完美,在个别web的请求上出现无法识别SetCookie,所以现在升级到XE7版的Indy 10.6,终于完美解决了.本想…
indy10的idhttpServer应答字符串 先看应答字符串的代码: procedure TIdIOHandler.Write(const AOut: string; AByteEncoding: IIdTextEncoding = nil {$IFDEF STRING_IS_ANSI}; ASrcEncoding: IIdTextEncoding = nil{$ENDIF} ); begin if AOut <> '' then begin AByteEncoding := iif(AB…
1. 找到C:\Program Files\Borland\Delphi7\Borland Delphi7.msi——双击——点Next——选择Modify,点Next——找到Program Files\indy\Do not Install点击. 2. 找到C:\Program Files\Borland\Delphi7\Source\indy目录删除. 3.找到C:\Program Files\Borland\Delphi7\Projects\bpl目录下所有 dclIndy*.* 和 In…
http://www.cnblogs.com/railgunman/archive/2010/08/31/1814112.html Indy 10的安装和老版本的卸载 Indy 10下载地址: http://www.indyproject.org/downloads/10/indy10.0.52_source.zip Indy 10 安装步骤 1.解压压缩包. 2.打开\System\IndySystem70.dpk,点Compile. 3.打开\Core\IndyCore70.dpk,点Com…