我有一个应用程序,我正在编写的通过tcpsocket将记录信息发送到服务器并让监视器客户端连接到服务器以查看记录数据。到目前为止,我能够到达将信息发送到服务器的阶段,但是我需要关于如何去下一个阶段的一些想法。使用Ruby tcpsever可以使用哪些方法让服务器将传入数据重新发送到客户端?我怎样才能让数据存储在线程中?Ruby tcpserver客户端服务器
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
关于让服务器将数据“重新发送”到客户端:数据是回显到发送客户端还是被转发到另一个客户端?这听起来像你还没有真正决定它应该如何工作。 – 2011-03-21 02:01:54
服务器应该将数据转发给客户端 – veccy 2011-03-21 02:19:45
服务器如何找到客户端? – 2011-03-21 02:30:37