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   表示有收到数据

 

你可能感兴趣的:(server)