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   表示有收到數據

轉自:http://hi.baidu.com/given/blog/item/57a4acc3a7ad8853b219a852.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM