websocket-rails 如何关闭套接字连接?
websocket-rails how to close socket connection?
我正在从 ActionController:Live
切换到 websocket-rails
,我只是想知道如何在用户关闭浏览器后关闭服务器端的连接 window?
ActionController:Live 我曾经有:
def stream
response.headers['Content-Type'] = 'text/event-stream'
@redis_sub = RedisStream.new_redis_client
# Subscribing to user's stream by session token
@redis_sub.subscribe([ token ]) do |on|
on.message do |channel, msg|
## Did stuff
response.stream.write(msg)
end
end
rescue IOError
"\n\nIOError in controller"
rescue ClientDisconnected
puts "\n\nClient has disconnected\n\n"
ensure
@redis_sub.quit
response.stream.close
end
这很好用,现在我正在尝试做同样的事情,但使用的是 websockets,我想知道如何关闭连接并退出我的 redis 订阅。
connection.close!
来自 websocket 控制器。
https://github.com/websocket-rails/websocket-rails/issues/219
为了加深@TheNastyOne 的回答,您可以像这样在客户端关闭来自 dispatcher
的套接字连接:
// Open connection.
var dispatcher = new WebSocketRails('localhost:3000/websocket');
// Close connection.
dispatcher.disconnect();
Here 存在描述这两种方法的问题。
我正在从 ActionController:Live
切换到 websocket-rails
,我只是想知道如何在用户关闭浏览器后关闭服务器端的连接 window?
ActionController:Live 我曾经有:
def stream
response.headers['Content-Type'] = 'text/event-stream'
@redis_sub = RedisStream.new_redis_client
# Subscribing to user's stream by session token
@redis_sub.subscribe([ token ]) do |on|
on.message do |channel, msg|
## Did stuff
response.stream.write(msg)
end
end
rescue IOError
"\n\nIOError in controller"
rescue ClientDisconnected
puts "\n\nClient has disconnected\n\n"
ensure
@redis_sub.quit
response.stream.close
end
这很好用,现在我正在尝试做同样的事情,但使用的是 websockets,我想知道如何关闭连接并退出我的 redis 订阅。
connection.close!
来自 websocket 控制器。
https://github.com/websocket-rails/websocket-rails/issues/219
为了加深@TheNastyOne 的回答,您可以像这样在客户端关闭来自 dispatcher
的套接字连接:
// Open connection.
var dispatcher = new WebSocketRails('localhost:3000/websocket');
// Close connection.
dispatcher.disconnect();
Here 存在描述这两种方法的问题。