IdTCPServer

IdTCPServer1

Server本身就支持多线程,一个服务端连接多个客户端。

void __fastcall TForm2::IdTCPServer1Execute( TIdContext * AContext )
{
    AContext->Binding->PeerIP;    AContext->Binding->PeerPort;

    AContext->Connection->IOHandler->SendBufferSize;
    AContext->Connection->IOHandler->Write( );
    AContext->Connection->IOHandler->WriteFile( );
    AContext->Connection->IOHandler->WriteDirect( );
    AContext->Connection->IOHandler->WriteLn( );

    AContext->Connection->IOHandler->Readable( );
    AContext->Connection->IOHandler->ReadByte( );
    AContext->Connection->IOHandler->ReadBytes( );
    AContext->Connection->IOHandler->ReadChar( );
    AContext->Connection->IOHandler->ReadStream( );
    AContext->Connection->IOHandler->ReadString( );
    AContext->Connection->IOHandler->ReadStrings( );
    AContext->Connection->IOHandler->ReadInt16( );
}
时间: 2024-11-07 00:02:18

IdTCPServer的相关文章

Delphi组件indy 10中IdTCPServer修正及SSL使用心得

indy 10终于随着Delphi2005发布了,不过indy套件在我的印象中总是复杂并且BUG不断,说实话,不是看在他一整套组件的面子上,我还是喜欢VCL原生的Socket组件,简洁,清晰.Indy9发展到了indy10几乎完全不兼容,可叹啊.言归正传.在使用IdTCPServer组件的时候发现了他的漏洞,他的OnConnec,OnExecute,OnDisconnect等事件是在其他线程中执行的,通常情况下这没有问题,但是在特殊的情况下会造成问题,如果其他部分的程序写得有问题就会出现漏洞.

关于idtcpserver的使用

原文:http://blog.csdn.net/hnxxcxg/article/details/2798019 用idTCPServer,客户端接上来时,如何取得客户端的IP? IP:=AThread.Connection.Binding.PeerIP;Port:=AThread.Connection.Binding.PeerPort; 尝试解答你的疑问:问题一:在Form1中放入IDTCPServer控件,一旦有socket连接,IDTCPServer自动建立一个线程与之建立一个TCP/IP连

Delphi实例-IdTCPServer和IdTCPClient的使用(支持文件发送)

相关资料: http://blog.csdn.net/earbao/article/details/46514313 结果注意: 1.Use IdContext.IdGlobal 这两个单元2.不能使用string类型,在分存分配时会出错的.3.手机中不支持string[20]. 实例代码: 1 unit Unit1; 2 3 interface 4 5 uses 6 System.SysUtils, System.Types, System.UITypes, System.Classes, S

从Indy9升级到Indy10时IdTcpServer的变化

从Indy9升级到Indy10时IdTcpServer的变化 首先Indy9.18中的TcpServer在Indy10中被分割成了2个组件:TIdCmdTCPServer和TIdTCPServer.其中TIdCmdTCPServer是原来的TIdTCPServer,新的TIdTCPServer单独分出来了.             再者所以的原始的reads和writes包括Read, ReadLn, Write, WriteLn等现在变成IOHandler的属性而不是TCPConnection

Delphi IdTCPClient IdTCPServer 点对点传送文件

https://blog.csdn.net/luojianfeng/article/details/53959175 2016年12月31日 23:40:15 阅读数:2295 Delphi     IdTCPClient 点对点传送文件 客户端向另一个客户端传送文件,不通过服务端中转那一个很重要的点是,这个客户端也要放一个IdTCPServer,也就是说这个客户端既是客户端,当接收文件的时候也是服务端,必须相应其它客户 端对它的连接,这个时候客户端相当与服务端,好了,明白这个道理就好办了 A客

多线程操里操作webbrowser的 Frames

多线程操里操作webbrowser的 Frames 有这样一个函数,直接在窗体中运行正常,但放到线程里一到frames就报错 procedure TForm1.fillframese1(webbrowser:TWebBrowser;params:TStrings;frameindex:integer); var Tabi:Integer; doc:IHTMLDocument2; Collection:IHTMLElementCollection; Element:IHTMLElement; fr

什么水平算精通C++ Builder?

主 题:   大家讨论一下什么水平算精通C++ Builder?(我这样算什么,马上要毕业了,不知道如何评价自己)         //C++ builder 使用时间3年 熟悉VCL源代码 开发过3-4个VCL组建 彻底研究过SynEdit source code 熟悉COM/DCOM开发 有3个共享软件开发经验 一个基于b/s大型数据应用开发经验(采用asp+websnap,其中自己写了asp com组建) 等一些必要OO编程知识   回复人: Aweay(绝食高手) ( ) 信誉:115

Indy的TCPServer到底能支持多少个连接

最近一个项目,最开始使用IdTcpServer,在大压力测试的时候,只连接了800个多一点的客户端(每个客户端连接上之后每秒钟发送一个几十字节的报文,服务器应答).但是持续的时间不会超过10分钟,服务器就会挂掉(经常是服务器突然关闭消失,任何提示都没有).后来优化了互斥量之后,可以连接到1000多个客户端.但是服务器消失的问题依然存在.    今天再一台双CPU,4G内存的服务器上试验了下,居然最也只能连接到2000多个客户端.然后换了Indy10.1.5服务器只做简单的连接和应答,客户端连接之

TCPClient组件和TCPServer组件的主要方法和属性

IdTCPClient属性1 : IOHandler 如果有相应的输入/输出操作,那么IOHandler相对应的组件或接口将提供一个虚拟/抽象的输入/输出接口给相应的网络连接2 : Intercept 如果有一个网络连接正在使用,那么Intercept 提供的组件或接口将可以拦截相应的网络数据流中的数据3 : BoundIP 指定使用IdTCPClient组件的计算机系统的IP地址,也就是说,其中是空白那么什么样的计算机都可以使用,但如果指定的IP地址为239.126.12.2,那么就只有IP地