Yo no se mucho de Sockets, pero quizás debas desconectar el Socket después de comprobar que puedes conectar.
Código Delphi
[-]
try
client.sin_family := AF_INET; client.sin_port := htons(dwPort);
client.sin_addr.s_addr := inet_addr(PAnsiChar(ipAddressStr));
sock :=socket(AF_INET, SOCK_STREAM, 0); Result:=connect(sock,client,SizeOf(client))=0;
Disconnect(sock, ...);
finally
WSACleanup;
end;