• Publicidad

Sockets

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Sockets

Notapor sferreira01 » 2006-05-16 08:36 @400

Les hago una consulta. Desconozco bastante del lenguaje, es más no soy programador pero necesito ayuda con algo, espero sepan ayudarme y disculpen mi ignorancia en el tema.
Tengo un server "SERVER01" al cual debo enviarle un mensaje al port "5555" ... eso es todo... ¿Cómo debo hacerlo? Estuve leyendo un poco para hacerlo con Sockets, que creí fuera los más simple/conveniente pero lo que probé no funciona... y seguro le estoy errando.
Server : "SERVER01"
port : "5555"
Mensaje: "IH7517a7501 b1."

El mensaje está en un TXT en mi c:\temp\MSJ.txt
(el server es siempre el mismo y el port también) Necesitará un script que tome del TXT ese mensaje y lo envíe a ese server en ese port.

Desde ya muchas gracias por la ayuda ....
¡¡Saludos!!
sferreira01
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-05-16 08:20 @389

Publicidad

Notapor Perl user » 2006-05-16 10:07 @463

Que tal,

Publica el código que intentaste para revisarlo y ayudarte en base a él.

Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Notapor explorer » 2006-05-17 13:36 @608

Por ejemplo, para el cliente:
Código: Seleccionar todo
#!/usr/bin/perl
use IO::All;

my $io = io('SERVER01:5555');
io('C:\temp\MSJ.txt') > $io;

Para el servidor:
Código: Seleccionar todo
#!/usr/bin/perl
use IO::All;

my $socket = io(':5555')->fork->accept;
print $socket->slurp;
$socket->close;
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Perl user » 2006-05-17 13:58 @624

explorer escribiste:Por ejemplo, para el cliente:
Código: Seleccionar todo
#!/usr/bin/perl
use IO::All;

my $io = io('SERVER01:5555');
io('C:\temp\MSJ.txt') > $io;

Para el servidor:
Código: Seleccionar todo
#!/usr/bin/perl
use IO::All;

my $socket = io(':5555')->fork->accept;
print $socket->slurp;
$socket->close;


El problema de IO::All es eficiencia, es un wrapper sobre wrappers. Es sencillo, pero a cambio de sencillez sacrificas rendimiento. Además que necesita MUCHOS módulos, y no todos son CORE.

En lo personal recomiendo sencillamente IO::Socket::INET, POE o Danga::Socket ( si requieres async i/o ).

Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Gracias por sus repuestas!!

Notapor sferreira01 » 2006-05-18 08:31 @396

Probé el codigo de Explorer, pero me responde que me falta "IO/All.pm "¿¿tengo que instalar algo?? ¿¿de donde lo puedo bajar?? (estoy trabajando sobre WinXP)

Si uso IO::Socket::INET , hay que modificar algo el el código que pegó Explorer? ... tengo que bajar alguna versión de perl en particular?

Muchas... muchas gracias por toda la ayuda.
Saludos!!
sferreira01
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2006-05-16 08:20 @389

Notapor Perl user » 2006-05-18 08:58 @415

Sí, claro que involucra muchos cambios, yo recomiendo darle una leída a la parte de "Programación de aplicaciones de red con sockets", de cualquier libro que tengas a la mano, para que te des una idea de esto como funciona.

O en su defecto, ver ejemplos de como se utilizar IO::Socket::INET.

Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados