SOCKET->autoflush();Ahora necesito pasarlo a Ruby.
open(STDIN, ">&SOCKET");
open(STDOUT,">&SOCKET");
open(STDERR,">&SOCKET");
_______________________________________________
Rubies mailing list
Rub...@listas.escomposlinux.org
https://listas.escomposlinux.org/mailman/listinfo/rubies
estas programando un servidor que conecta a los clientes con algun
programa? por ejemplo mira este servidor ls sencillo:
#!/usr/bin/env ruby
require 'socket'
server = TCPServer.new('0.0.0.0', 6666)
while session = server.accept
$stdout.reopen(session)
session.close
system("ls")
end
On 5/13/08, Protos Hack <prot...@gmail.com> wrote:
> El día 13 de mayo de 2008 22:43, David Cuadrado <kra...@gmail.com>
> escribió:
>
> > Hola,
> >
> > esta es la primera vez que escribo tambien =P
> >
> > si lo que quieres es redireccionar las salidas al socket puedes usar
> > la funcion IO#reopen, por ejemplo:
> >
> > $stdout.reopen(s);
> > $stderr.reopen(s);
> > $stdin.reopen(s);
> >
> > saludos,
> >
> > Si, creo que es eso lo que me interesa, he probado y no se como hacerlo
> > funcionar, me podrias explicar un poco mejor como funciona porfavor??
> >
>
> Muchas gracias. Saludos
>
> >
> >
> >
> > --
> > David Cuadrado
> >
>
--
David Cuadrado
On Tue, May 13, 2008 at 5:41 PM, vruz <horaci...@gmail.com> wrote:
el ejemplo mas basico de todos, un servidor horario
primero el servidor que acepta conexiones en el puerto 20000.
crea un hilo de ejecucion por cada nueva conexion.
apenas acepta una nueva conexion, le envia la hora
actual al cliente.
# servidor.rb
require "socket"
dts = TCPServer.new('localhost', 20000)
loop do
Thread.start(dts.accept) do |s|
print(s, " aceptado\n")
s.write(Time.now)
print(s, " se ha desconectado\n")
s.close
end
end
el cliente busca conectarse al servidor en el puerto 20000
(obviamente el servidor debe estar ejecutandose para que
el cliente funcione)
apenas logra una conexion, el cliente lee hasta 100 bytes
de datos, los muestra en la salida estándar y luego
se desconecta.
# cliente.rb
require 'socket'
streamSock = TCPSocket.new( "127.0.0.1", 20000 )
str = streamSock.recv( 100 )
print str
streamSock.close
espero que sirva para iniciarte
> > _______________________________________________
> > Rubies mailing list
> > Rub...@listas.escomposlinux.org
> > https://listas.escomposlinux.org/mailman/listinfo/rubies
> >
> >
>
>
>
> --
> ---- vruz
>
--
---- vruz
stderr: salida de error estandar
$stderr << "hola salida de error"
stdin: entrada estandard
linea = $stdin.readline
$stdout.puts(linea)
en el ejemplo redireccionada la salida estandard al socket
On 5/14/08, Protos Hack <prot...@gmail.com> wrote:
> Si, gracias, creo que eso es lo que necesito. Pero me quedan dudas los std (
> stdin, stdou y stderr) que es exactamente lo que hacen? En tu ejemplo parece
> que el stdout lo que ha hecho es asociar la consola al socket y hacer un ls
> no? Que hace exactamente stdin stdout y stderr?
>
> Muchas gracias!