Mar May 16, 2006 7:36 am
|
 |
sferreira01
Perlero Nuevo

|
Registrado: 16 May 2006
Mensajes: 4
|
|
| Sockets |
|
|
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.
| Cita: | 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!! |
|
|
|

Mar May 16, 2006 9:07 am
|
 |
Perl user
Maestro Honorario

|
Registrado: 03 Nov 2004
Mensajes: 385
|
|
|
|
|
Que tal,
Publica el código que intentaste para revisarlo y ayudarte en base a él.
Saludos, |
|
Mie May 17, 2006 12:36 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4140
Ubicación: Valladolid, España
|
|
|
|
|
Por ejemplo, para el cliente:
| Código: |
#!/usr/bin/perl
use IO::All;
my $io = io('SERVER01:5555');
io('C:\temp\MSJ.txt') > $io; |
Para el servidor:
| Código: |
#!/usr/bin/perl
use IO::All;
my $socket = io(':5555')->fork->accept;
print $socket->slurp;
$socket->close; |
|
|

Mie May 17, 2006 12:58 pm
|
 |
Perl user
Maestro Honorario

|
Registrado: 03 Nov 2004
Mensajes: 385
|
|
|
|
|
| explorer escribió: | Por ejemplo, para el cliente:
| Código: |
#!/usr/bin/perl
use IO::All;
my $io = io('SERVER01:5555');
io('C:\temp\MSJ.txt') > $io; |
Para el servidor:
| Código: |
#!/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, |
|

Jue May 18, 2006 7:31 am
|
 |
sferreira01
Perlero Nuevo

|
Registrado: 16 May 2006
Mensajes: 4
|
|
| Gracias por sus repuestas!! |
|
|
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!! |
|
Jue May 18, 2006 7:58 am
|
 |
Perl user
Maestro Honorario

|
Registrado: 03 Nov 2004
Mensajes: 385
|
|
|
|
|
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, |
|
Powered by phpBB © 2001, 2005 phpBB Group
|