DelPhi2007-Indy10IdTCP使用实例.docVIP

  • 270
  • 0
  • 约1.16万字
  • 约 16页
  • 2018-05-27 发布于福建
  • 举报
IdTcpServer/IdTcpClient IdTcpServer uses IdContext //需要引用 属性,方法: IdTCPServer.Active :=True; //开启服务器 IdTCPServer1.Bindings.Add.IP := 127.0.0.1;//绑定IP IdTCPServer1.Bindings.Add.Port := 7956;//绑定端口 事件: OnConnect : 客户端连接成功触发 OnDisConnect : 客户端断开触发 OnExeCute : 收到客户端数据触发 例子 //像所有客户断发送数据 var I: Integer; Context: TIdContext; begin with IdTCPServer1.Contexts.LockList do ??? try ????? for I := 0 to Count - 1 do ??????? begin ????????? Context := TIdContext(Items[I]); ????????? Context.Connection.IOHandler.Write(Hello,everybody!); ??????? end; ??? finally ????? IdTCPServer1.Contexts.UnlockList; ??? end; end; //向某个客户发送数据 var I: Integer; Context: TIdContext; begin with IdTCPServer1.Contexts.LockList do ??? try ????? for I := 0 to Count - 1 do ??????? begin ????????? Context := TIdContext(Items[I]); ????????? if Context.Binding.PeerIP 192.168.10.90 then ??????????? continue; ????????? Context.Connection.IOHandler.Write(Hello!); ??????? end; ??? finally ????? IdTCPServer1.Contexts.UnlockList; ??? end; end; IdTcpClient 属性,方法: ConnectTimeOut:连接超时 Host:主机IP或域名 IPVersion:Ip版本 ipv4 or ipv6 Name:控件名 Port:主机端口 ReadTimeOut:读取超时 IdTCPClient1.Connect; //连接服务端 IdTCPClient1.Disconnect;//端开连接 IdTCPClient1.Connected;//是否连接成功 返回true 连接成功 IdTCPClient1.IOHandler.WriteLn(aa);// 向服务端发送数据 OnWork事件AWorkMode=wmRead?? 表示有收到数据在DelPhi2007?中?使用Indy?的TCP连接教程(一)首先 先说明下 为什么要用 INDY10 最新的indy10可以基于win32上的程(Fiber) API. ??? 什么叫Fiber API呢,这里是解释: ??? 纤程(Fiber) — 可以从 32 位版本的 Windows? 中使用的轻量级线程处理对象 — 在很多方案中都很有用。由于线程是宝贵资源,因此您有时不希望将整个 OS 线程专门用于执行简单的任务。通过纤程,可以比线程更严密地控制任务的调度,因为是您而不是 OS 负责管理它们。由于它们具有较少的开销,因此当您切换上下文时,它们还更加快速。此外,因为是由您控制纤程,所以对于它们而言,通常可以更容易地跟踪同步问题。??? 不过这个特性,现在只有针对delphi7有用。?? 端口重叠可以让你的服务器承担更多的用户。indy10值得一用。 indy10支持完成端口和纤程,性能有了巨大提升! ================================================================================我们先打开?? DelPhi2007 工具吧! 首先 我们 做好一个简单的客户端先新建一个窗口程序 拖入一个TCP客户端控件 还有3个按钮 一个文本框 是 连接 断开 和 发生 设置一下 IdTCPClient 控件的属性 Host :127.0.0.1 Post:3000 下面 我们来对连接按钮做事件 procedure TForm6.ConetClick(Sender: TObject)

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档