我使用IdTCPClinet做了一个客户端程序。点击按钮,可以建立与服务器的连接。但是再点按钮或者关闭程序都会出错。提示某某地址出现了违规操作。如果再运行,就提示SOCKET错误,10048地址已经被使用,要把服务器断开一次才可以再次连接上。是不是我在关闭的时候没有关线程什么的?但是我不会做这些,请指点。
//设置Client1属性,建立虚链路
IdTCPClient1.Port:=StrToInt(Edit2.Text);
IdTCPClient1.Host:=Edit1.Text;
if trim(Button2.Caption)='连接?' then
begin
IdTCPClient1.Connect;
Button2.Caption:='断开?';
Button3.Enabled := true;
Shape1.Brush.Color:=clRed;
end else
begin
if IdTCPClient1.Connected then //关闭连接
begin
ClientHandleThread.Terminate;
IdTCPClient1.Disconnect;
Button2.Caption:='连接?';
Button3.Enabled := False;
Shape1.Brush.Color:=clSilver;
end;
end;正确的程序应该是怎么建立连接和断开连接?
//设置Client1属性,建立虚链路
IdTCPClient1.Port:=StrToInt(Edit2.Text);
IdTCPClient1.Host:=Edit1.Text;
if trim(Button2.Caption)='连接?' then
begin
IdTCPClient1.Connect;
Button2.Caption:='断开?';
Button3.Enabled := true;
Shape1.Brush.Color:=clRed;
end else
begin
if IdTCPClient1.Connected then //关闭连接
begin
ClientHandleThread.Terminate;
IdTCPClient1.Disconnect;
Button2.Caption:='连接?';
Button3.Enabled := False;
Shape1.Brush.Color:=clSilver;
end;
end;正确的程序应该是怎么建立连接和断开连接?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货