IdTCPClient这个控件在XE8里面和以前的代码感觉完全不一样了,研究了一下,基本通讯模式如下:
首先防止IdTCPClient和IdAntiFreeze在界面上,uses里面包含一下IdGlobal
TCP连接:
begin
IdTCPClient1.Host := '127.0.0.1';
IdTCPClient1.Port := 10000;
try
IdTCPClietn1.Connect;
except
on E: Exception do
begin
if Pos('10038', E.Message, 1) > 0 then
begin
//手动取消的连接
end
else
begin
Showmessage('连接失败');
end;
end;
end;
end;
TCP断开:
begin
IdTCPClient1.Disconnect;
end;
TCP发送:
var
dat : TBytes;
begin
IdTCPClient1.Socket.Write(TIdBytes(dat), 100); //第二个参数是发送的数据长度
end;
//注意最好不要用Stream的方式来收发,Stream接收的时候会将开