2017-02-23 155 views
0

我有(使用Rubame)一個的WebSocket服務器,並且它處理中以方框形式服務器連接:到服務器訪問塊變量從方法

server.run do |client| 
    # ... 
end 

客戶端發送消息(即ping;end),則服務器發回消息(即pong;end)。

而不是由塊在我的反應到消息的代碼,創造了巨大的,醜陋的一塌糊塗,我想擁有它的功能:

def react(msg) 
    # ... 
end 
server.run do |client| 
    client.onmessage do |mess| 
     react(mess) 
    end 
end 

將消息發送回客戶端,我需要訪問傳遞給server.run塊的client變量,並且它似乎無法從該方法內訪問。

有沒有一種方法可以在塊內調用的方法內訪問塊的變量?

回答

4

只是通過client一起到你的方法:

def react(client, msg) 
    # ... 
end 

server.run do |client| 
    client.onmessage do |mess| 
    react(client, mess) 
    end 
end