Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Providers
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-09-2018
Avatar de Maniches
Maniches Maniches is offline
Miembro
 
Registrado: nov 2012
Ubicación: Lima - Perú
Posts: 67
Poder: 12
Maniches Va por buen camino
Lightbulb Migración de componente TTcpClient a TClientSocket

Hola Amigos del Foro,

aquí agrego y acudo a su experiencia y conocimiento.

Estoy validando migrar un pequeño modulo hacia una versión mas actualizada de Delphi. El detalle que tan solo se tiene los fuentes de la parte del cliente y no del servidor que se asume esta usando un servidor (TTcpServer) este aplicativo fue implementado por un proveedor y es una caja negra.

La pregunta y la ayuda es la siguiente: Se quiere ver la posibilidad de migrar la parte de cliente en una versión mas reciente de delphi. como sabemos la nueva versión ya no utiliza los componentes TTcpClient, TTcpServer y actualmente se usa TClientSocket, TServerSocket. Como les mencionaba la parte del servidor es una caja negra.

La parte del cliente que esta configurada es la siguiente:

Código Delphi [-]
var
  iLen1, iLen2, sResult  : Integer;
  BufHost, BufRcvd    : Array[0..4096] of Char;
begin
  TcpClient1.RemoteHost := '255.255.255.0';
  TcpClient1.RemotePort := '9999';
  TcpClient1.Open;
  if TcpClient1.Connected = False then
  begin
    LenRcvd:= TcpClient1.SendBuf(BufHost,iLen1);
  ...
  while TcpClient1.WaitForData(50000) = true do
  begin
    ...
    sResult:= TcpClient1.ReceiveBuf(BufRcvd, iLen2);
  end;   
  ...
  end;    
end;

Yo he intentado hacer algo similar con los nuevos componentes pero no me esta funcionando ya que el aplicativo que recibe los mensajes muestra los mensajes de Ingreso y Salida, pero parece que no esta enlazando y no esta enlazando.

Código Delphi [-]
var
  cltsckCliente : TClientSocket;
  iLen1, iLen2, sResult  : Integer;
  BufHost, BufRcvd    : Array[0..4096] of Char;
  ssTemp: TWinSocketStream;  
begin
  cltsckCliente.Address:= '255.255.255.0';
  cltsckCliente.Host   := '255.255.255.0';
  cltsckCliente.Port   := '9999';
  cltsckCliente.Open;
  if cltsckCliente.Socket.Connected then
  begin   
    lenRcvd:= cltsckCliente.Socket.SendBuf(BufHost, iLen1);

    ssTemp := TWinSocketStream.Create(cltsckCliente.Socket, 180000);

    while ssTemp.WaitForData(50000) = true do
    begin
      LenRcvd := cltsckCliente.Socket.ReceiveBuf(BufRcvd, iLen2);
      ...
    end; 
  end; 
end;

Amigos del foro es posible trabajar con los componentes TClientSocket --> TTcpServer que estos se enlacen y haya comunicación entre ellos? Si es posible esto pueden ayudarme indicándome si hay algún error en el código que les muestro? que sugerencias y/o ejemplos pueden compartir para hacer la prueba.

Muchas gracias de antemano.
__________________
Maniches
maniches@outlook.com
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
TClientSocket y TServerSocket kdemia Internet 2 02-06-2010 22:43:19
TTCPClient - Tiempo de espera a conexión jplj Internet 3 14-05-2010 08:46:55
TTcpClient y TTcpServer b3nshi Varios 6 29-08-2007 23:34:03
Errores con los tTcpClient dnieto Varios 4 11-07-2007 15:09:47
TClientSocket y TServerSocket fled Internet 10 14-06-2004 09:35:33


La franja horaria es GMT +2. Ahora son las 09:15:51.


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