Para poder usar sockets en ruby necesitamos:
Código: Seleccionar todo
require 'socket'
Bueno ya pidiendo socket podemos trabajar con ello y vamos a hacer el server primero:
Server:
Código: Seleccionar todo
serv = TCPSocket.new 1234
Código: Seleccionar todo
serv = TCPSocket.new(1234)
Código: Seleccionar todo
serv = TCPSocket.open(1234)
Código: Seleccionar todo
serv.listen(1)
Y de aqui ya podemos hacer muchas cosas al gusto. Algo simple que nose sirve para el ejemplo seria mandar un mensaje a todo aquel que se conecte y cerrar la conexion.
Código: Seleccionar todo
loop do
client = serv.accept
client.puts "Wellcome to server"
client.close
end
Y nuestro codigo final del server quedaria asi:
Código: Seleccionar todo
require 'socket'
serv = TCPSocket.new 1234
serv.listen(1)
loop do
client = serv.accept
client.puts "Wellcome to server"
client.close
end
Cliente:
Código: Seleccionar todo
require 'socket'
Código: Seleccionar todo
client = TCPSocket.new 'localhost' 1234
Código: Seleccionar todo
client = TCPSocket.new('localhost', 1234)
Código: Seleccionar todo
client = TCPSocket.open('localhost', 1234)
Ahora de aqui tambien podemos hacer muchas cosas, para el ejemplo mandaremos se imprime entra en un while y se imprime el mensaje terminando esto se cierra la conexion
Código: Seleccionar todo
while mensaje = serv.gets
puts mensaje
end
client.close
Código: Seleccionar todo
require 'socket'
client = TCPSocket.new 'localhost' 1234
while mensaje = serv.gets
puts mensaje
end
client.close
Código: Seleccionar todo
Socket.getaddrinfo(host, puerto)
Código: Seleccionar todo
select [sock], nil, nil, timeout
Y muchas otras
[Enlace externo eliminado para invitados]