2014-09-07 5 views
0

Я написал свое приложение, которое использует Lua и подключается к моему серверу с помощью Ruby, но когда приложение запускается, кажется, что он перестает работать. Я не уверен, в чем проблема, потому что я новичок в Ruby, но я когда-либо использовал Python и имел ту же проблему. Corona Simulator stop working after connecting to serverRuby - Почему мой сервер перестает работать

Мне любопытно, что Ruby имеет что-то вроде требования к протоколу HTTP или нет? Ниже мой код использует puts для отправки данных клиенту.

require "socket" 
class Server 
    def initialize(ip,port) 
     puts "Server Start!!" 
     @server = TCPServer.open(ip,port) 
     @connections = Hash.new 
     @rooms = Hash.new 
     @clients = Hash.new 
     @connections[:server] = @server 
     @connections[:rooms] = @rooms 
     @connections[:clients] = @clients 
    end 

    def run 
     loop { 
      Thread.start(@server.accept) do |client| 
       puts "New client connected." 
       nickname = client.gets.chomp.to_sym 

       puts "#{nickname} #{client}" 
       @connections[:clients][nickname] = client 
       client.puts "Hi there" 
       client.print "\n" 
       client.close 
      end 
     }.join 
    end 
end 

server = Server.new("127.0.0.1",8080) 
server.run 

ответ

0

добавить

client.print "\n 
client.close 

в конце функции потока, и она должна работать

+0

Тем не менее не работает. Я обновил код в сообщении. Это то, что вы имеете в виду? – user3480543

Смежные вопросы