Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-10-2014
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
En realidad la hice, pero no encontré nada similar, y como esta función la necesito usar en otras tareas, decidí exponerla a ver si es que hay algo en ella que satura el servidor. Gracias
Responder Con Cita
  #2  
Antiguo 20-10-2014
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.738
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
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; //Establece el protocolo a usar en este caso (IPv4)
   client.sin_port := htons(dwPort);
   client.sin_addr.s_addr := inet_addr(PAnsiChar(ipAddressStr));
   sock :=socket(AF_INET, SOCK_STREAM, 0); //crea un socket
   Result:=connect(sock,client,SizeOf(client))=0; //Estable conexión con un socket

   // Quizás falta algo como esto ????
   Disconnect(sock, ...);
   // ????

   finally
     WSACleanup;
   end;
Responder Con Cita
  #3  
Antiguo 20-10-2014
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Gracias podría ser una variante, pero como reviso todos los parámetros de la función Disconect ?
Responder Con Cita
  #4  
Antiguo 20-10-2014
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.738
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Puedes ver esta conversación.
Por un lado dicen que WSACleanup cierra todos las conexiónes, pero que también puedes hacer
Código Delphi [-]
CloseSocket(sock);
Allí proponen también otra solución para comprobar si un puerto está abierto.
Código Delphi [-]
function TForm7.PortIsOpen(const APort: Integer; const AAddress: string):
    Boolean;
var
  LTcpClient: TIdTCPClient;
begin
  LTcpClient := TIdTCPClient.Create(nil);
  try
    try
      LTcpClient.Host := AAddress;      //which server to test
      LTcpClient.Port := APort;         //which port to test
      LTcpClient.ConnectTimeout := 200; //assume a port to be closed if it does not respond within 200ms (some ports will immediately reject, others are using a "stealth" mechnism)
      LTcpClient.Connect;               //try to connect
      result := true;                   //port is open
    except
      result := false;
    end;
  finally
    freeAndNil(LTcpClient);
  end;
end;
 
procedure TForm7.Button1Click(Sender: TObject);
begin
  if PortIsOpen(1234, '127.0.0.1') then
    ShowMessage('OPEN')
  else
    ShowMessage('NOT OPEN');
end;
Responder Con Cita
  #5  
Antiguo 20-10-2014
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Poder: 14
cmfab Va por buen camino
Muchas gracias, espero poder resolver con esos ejemplos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Servidor y cliente DataSnap cmfab Varios 9 11-09-2014 15:03:27
Servidor DataSnap Existente muli Providers 4 04-07-2014 02:29:43
Ejemplo de un Cliente/Servidor Datasnap? kaiserilich Conexión con bases de datos 2 30-06-2014 16:21:49
exportar servidor datasnap JULIPO Providers 0 28-02-2012 04:34:07
DataSnap residente en el servidor !!! Velia Providers 0 18-05-2006 15:06:25


La franja horaria es GMT +2. Ahora son las 09:28:41.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi