Problemas con socket receptor de Perl y GUI
![Nota Nota](https://perlenespanol.com/foro/styles/prosilver/imageset/icon_post_target.gif)
Estoy tratando de transmitir con el socket de Java al socket de Perl.
El socket de Perl recibe la información enviada con el socket de Java con algo de basura y la muestra en la ventana negra del MSDOS pero cuando se intenta imprimir en una ventana (GUI) la información se embasura completamente y lo que muestra es totalmente distinto a lo enviado. Envío código para que lo corran y vean que es lo está pasando. ¿Cómo puedo resolver eso?
Receptor de perl
Emisor de Java
El socket de Perl recibe la información enviada con el socket de Java con algo de basura y la muestra en la ventana negra del MSDOS pero cuando se intenta imprimir en una ventana (GUI) la información se embasura completamente y lo que muestra es totalmente distinto a lo enviado. Envío código para que lo corran y vean que es lo está pasando. ¿Cómo puedo resolver eso?
Receptor de perl
Using perl Syntax Highlighting
#!/usr/bin/perl -w
use Tk;
use IO::Socket;
use Net::hostent;
my $mw=MainWindow->new;
$mw->minsize(200,100);
$mw->title("AVISO!!");
my $server=IO::Socket::INET->new(Proto=>"tcp",LocalPort=>"5800",Listen=>"1");
#die "no puede configurar servidor" unless $server;
#print "Server $0 aceptando clientes";
while($cliente=$server->accept()){
$cliente->autoflush(1);
while(defined($line=<$cliente>)){
#print $line;
$mw->Label(-text=>$line)->pack;
$mw->Button(-text=>Aceptar,-command=>sub{},-width=>10,-height=>1.90)->pack(-side=>'left',-padx=>15);
$mw->Button(-text=>Cancelar,-command=>sub{exit},-width=>10,-height=>1.90)->pack(-side=>'left',-padx=>15);
MainLoop;
}
close $server;
}
use Tk;
use IO::Socket;
use Net::hostent;
my $mw=MainWindow->new;
$mw->minsize(200,100);
$mw->title("AVISO!!");
my $server=IO::Socket::INET->new(Proto=>"tcp",LocalPort=>"5800",Listen=>"1");
#die "no puede configurar servidor" unless $server;
#print "Server $0 aceptando clientes";
while($cliente=$server->accept()){
$cliente->autoflush(1);
while(defined($line=<$cliente>)){
#print $line;
$mw->Label(-text=>$line)->pack;
$mw->Button(-text=>Aceptar,-command=>sub{},-width=>10,-height=>1.90)->pack(-side=>'left',-padx=>15);
$mw->Button(-text=>Cancelar,-command=>sub{exit},-width=>10,-height=>1.90)->pack(-side=>'left',-padx=>15);
MainLoop;
}
close $server;
}
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Emisor de Java
Using java Syntax Highlighting
import java.net.*;
import java.io.*;
class servidor{
public static void main(String args[]){
try{
Socket conexion=new Socket(args[0],5800);
ObjectOutputStream salida=new ObjectOutputStream(conexion.getOutputStream());
salida.flush();
salida.writeObject("Hola mundo!");
System.out.println("Hola mundo!");
salida.flush();
salida.close();
conexion.close();
}
catch(IOException io){
System.out.println("error");
}
}
import java.io.*;
class servidor{
public static void main(String args[]){
try{
Socket conexion=new Socket(args[0],5800);
ObjectOutputStream salida=new ObjectOutputStream(conexion.getOutputStream());
salida.flush();
salida.writeObject("Hola mundo!");
System.out.println("Hola mundo!");
salida.flush();
salida.close();
conexion.close();
}
catch(IOException io){
System.out.println("error");
}
}
Coloreado en 0.015 segundos, usando GeSHi 1.0.8.4