get '/' do
if !request.websocket?
erb :index
else
request.websocket do |ws|
ws.onopen do
content_type :json
u = User.first(:username => session[:username])
ws.send({:msg => "start", :player_id => u.id.to_s,})
settings.sockets << ws
end
ws.onmessage do |msg|
EM.next_tick { settings.sockets.each{|s| s.send(msg) } }
end
ws.onclose do
warn("websocket closed")
settings.sockets.delete(ws)
end
end
end
end
在我的网络套接字握手中,我似乎无法让用户会话工作。除了在Web套接字请求期间,所有地方都可以工作。它每次都是空的。
在我的应用中,会话设置。
enable :sessions
set(:session_fail, '/login')
set(:session_secret, 'secretsession')