En un post anterior, vimos como abrir un socket para una única conexión entrante. Es interesante poder enviar datos y recibirlos de un equipo, pero mucho más interesante es poder hacer un servidor en condiciones que permita escuchar y responder a varias conexiones al mismo tiempo.
Continúa leyendo para ver el código de un servidor multihilo.
/usr/bin/ruby -w require 'socket' server = TCPServer.open(4096) loop { Thread.start(server.accept) do |client| client.puts "Conexion abierta" print(client, " aceptado\n") client.write(Time.now.ctime) sleep 3 client.write("\nCerrando la conexion\n") client.close print(client, " cerrado\n") end }
Con este código se permite la conexión simultánea de varios clientes al mismo tiempo, dándole respuestas en paralelo a todos ellos. Como se observa, algo muy simple que permite interactuar fácilmente a varios clientes con un único servidor, al más puro estilo web service.
No hay comentarios :
Publicar un comentario