我程序中包含TIDHttp和TIDTcpServer两个控件,TIDHttp执行(get方式)完后释放,TIDTcpServer启动正常,客户端有链接上来,处理后将TIDTcpServer的active置false,然后再重新设active=true是,回报“cound not bind socket,address and port are already in use”的异常
如果程序去掉有关TIDHttp的代码,那就不会出现后面的问题,请问是什么原因啊
有关TIDHttp的代码如下:
IdHTTP1 := TIDHttp.Create(nil);
try
httpstr := IdHTTP1.Get('http://'+url) ;
except
// Showmessage('网络出错!');
end;
IdHTTP1.Free;
如果程序去掉有关TIDHttp的代码,那就不会出现后面的问题,请问是什么原因啊
有关TIDHttp的代码如下:
IdHTTP1 := TIDHttp.Create(nil);
try
httpstr := IdHTTP1.Get('http://'+url) ;
except
// Showmessage('网络出错!');
end;
IdHTTP1.Free;
今天又发现一个奇怪的现象,同样编译好的程序,在家里执行不报错,拿到公司执行就报错,郁闷
公司里是局域网,通过代理服务器上网
家里是adsl
就这个差别了
程序中IdHTTP是连到外网,TIDTcpServer是和本机的客服端连接
登录后IdHTTP就已经释放了,但在主程序执行时,通过奇虎360发现,仍然与代理服务器有tcp连接,感到器官的是IdHTTP是http连接,怎么会显示tcp连接?是360的错误?再说在主程序执行时,IdHTTP就已经释放了,怎会显示还有连接了?
请高手指点
我也时常遇到这个Socket Error # 10048 Address already in use. 的问题。