TCP 连接出现的问题 ( 积分: 100 )

  • 主题发起人 主题发起人 酱豆腐
  • 开始时间 开始时间

酱豆腐

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序通过TCP/IP连接到串口服务器(就是多个串口转成以太网的设备,我把端口设成TCP 服务端,端口好为2005),我在PC机上做通讯程序,作为客户端,与串口服务器通讯。
TCP采用短连接,通讯的时候建立连接,其他时候断开。程序开始的时候还可以运行,3、4天后就出现连接错误:cannot allocate socket
 
用完后没有释放socket
 
同意上述分析,没有释放资源!时间足够长的时候,就没有资源可以利用了!
 
问题是,我在程序中已经释放了连接.而在另一个程序中,我使用的是长连接,创建连接以后就没有释放连接.释放过程
if FTCPClient <> nil then
begin
try
if FTCPClient.Connected then
begin
FTCPClient.Disconnect;
end;
except
on e:Exception do
begin
FErrorMsg := FErrorMsg + ' [CloseTCPClient:' + e.Message + ']';
end
end;
FTCPClient.Free;
FTCPClient := nil;
end;
 
运行一段时间用 cmd NETSTAT 看下,如异常 baidu
 
后退
顶部