J'ai une application que je suis en train de coder pour que les informations d'enregistrement soient envoyées par tcpsocket à un serveur et qu'un client de surveillance se connecte au serveur pour voir les données d'enregistrement. Jusqu'à présent, j'ai réussi à atteindre le stade où l'information est envoyée au serveur, mais j'ai besoin de quelques idées sur la façon de procéder à l'étape suivante. En utilisant Ruby tcpsever, quelles méthodologies puis-je utiliser pour que le serveur renvoie les données entrantes à un client ? Comment puis-je avoir des données stockées à travers les threads ?
require "socket"
server_socket = TCPServer.new('localhost', 2200)
loop do
# Create a new thread for each connection.
Thread.start(server_socket.accept) do |session|
# check if received is viewer request
line = session.gets
if line =~ /viewer/
@filter = line[/\:(.*?)\:/]
session.puts "Listining for #{filter}"
loop do
if (log = ### need input here from logging app ###)
# Show if filter is set for all or cli matches to filter
if @filter == ':all:' || log =~ /\:(.*?)\:/
session.puts log
end
# Read trace_viewer input.
if session.gets =~ /quit/
# close the connections
session.puts "Closing connection. Bye!"
session.close
break
end
end
end
end
end
end