Hola t...@s;

Carlos y Pedro, estoy siguiendo este tema en el cual estoy interesado también; entonces, si no es molestia, es factible que puedan facilitarnos como ejemplo inicial el programa cliente de socket del cual hablan?

Desde ya muchas gracias - Salu2 cordiales.
Nelson Brizuela Garcete
--

Carlos Pedrozo escribió:
Pedro Gracias por tu ayuda y consejo; cada dia se aprende algo nuevo; de hecho hoy me sucedio eso y aprendi muchisimo. Tus conocimientos me van ayudar a subsanar una serie de dramas que tengo; de nuevo agradezco profundamente tu gran ayuda. Te envio un fuerte abrazo desde Paraguay. Carlos Pedrozo ------------------------------------------------------------------------
From: [email protected]
To: [email protected]
Subject: RE: TCP/IP y sockets en System i
Date: Thu, 22 Oct 2009 13:16:09 +0000

Hola Carlos.
Ojalá te hayan servido los programas. En lo que respecta al instanciamiento, en la parte donde se lee: // *Obtain a socket descriptor*
         SD = Socket(AF_INET: SOCK_STREAM: 0);
         //   If socket failed - End the client program with dump
         If SD < 0;
           ErrorHdlr ('ClientSocket');
           Return;
         EndIf;
         *_//   Allow socket description to be reusable_*
         RC = SetSockOpt(SD: SOL_SOCKET
             : SO_REUSEADDR
             : %Addr(OptVal)
             : %Size(OptVal));
         *//   If SetSockOpt failed - End the server with dump
         If RC < 0;
*           ErrorHdlr ('SetSockOpt');
           Return;
         EndIf;
Pero también funciona haciendo un CALL extra a otro programa socket que de hecho es la nueva instancia, obviamente pasandole parámetros. Con este programa de socket NUNCA he tenido problemas de ninguna clase, porque para lo que más lo he utilizado es para la banca, y la prueba es que imagínate la cantidad de transacciones que se llevan a cabo en un banco (no todas claro, solo las que utilizan el socket). Por otra parte, a veces me he encontrado de que al momento de convertir la trama de edbcdic a ascii y viceversa me he encontrado con algunos problemitas de conversión de caracteres, porque? no lo sé y básicamente me ocurrió con QDCXLATE utilizando como parámetros XLATELIB, ETOATABL/ATOETABL, por lo que inclusive puse esto en el foro, pero me encontré con otra forma siempre utilizando QDCXLATE con los parámetros QTCPEBC/QTCPASC y me funciona perfecto.

Gracias por tus consejos, los tomaré muy en cuenta.
Saludos!! ------------------------------------------------------------------------
From: [email protected]
To: [email protected]
Subject: RE: TCP/IP y sockets en System i
Date: Thu, 22 Oct 2009 08:34:28 -0300

Pedro Como estas? Estuve mirando los programas que me enviaste y esta excelente. Me gustaria compartir contigo algunos trucos para mejorar en FREE. 1.-Tengo por ejemplo; como tomar el nombre del HOST wkHostName = 'COMSVR '; wkHostName = %trim(wkHostName) + x'00' ; p_hostent = gethostnam(wkHostName); wkIP = h_addr; sin_addr = h_addr; 2.-
o mismo la conversion de ASCII o EBDCIC o viceversa;
// Convierte datos de EBCDIC a ASCII QDCXLATE(BufferLen: buffer : 'QASCII': 'QSYS'); y varios trucos que es de suma importancia. El tema de nucleo e instancia si me gustaria que me indique por donde va la mano. Te envio un fuerte abrazo. Carlos Pedrozo ------------------------------------------------------------------------
From: [email protected]
To: [email protected]
Subject: RE: TCP/IP y sockets en System i
Date: Fri, 16 Oct 2009 18:06:16 +0000

Hola Carlos:
Estoy en deuda contigo, mira te voy a mandar un programa de socket que es cliente y funciona excelente y ahi maneja lo de las instancias. 1. Crea un archivo fuente llamado SCKSRC dentro de alguna biblioteca
2. Copia los fuentes que te mandé via FTP o como juzgues conveniente
3. El fuente sclient4b es tipo CLLE, lo compilas con opción 14
4. Una vez que hayas compilado el CLLE, lo corres porque este te hace la creación de los otros programas y módulos. Obviamente antes de todo, verifica el programa sclient4xy para ver que puerto y que IP le vas a asignar. No sé si ya no lo ocupas, pero disculpa que te lo mando demaiado tarde. Saludos!!

    Saludos

____________________________________________________
© Publicaciones Help400, S.L. - Todos los
derechos reservados http://www.help400.es
----------------------------------------------------
Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a