首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >websocket-rails如何关闭套接字连接?

websocket-rails如何关闭套接字连接?
EN

Stack Overflow用户
提问于 2015-02-10 18:00:09
回答 2查看 1.3K关注 0票数 0

我从ActionController:Live切换到websocket-rails,我只是想知道一旦用户关闭浏览器窗口,如何关闭服务器端的连接?

使用ActionController:Live以前有:

代码语言:javascript
复制
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订阅。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-12 06:58:52

来自websocket控制器内部的connection.close!

https://github.com/websocket-rails/websocket-rails/issues/219

票数 0
EN

Stack Overflow用户

发布于 2016-02-10 15:15:22

为了加深@TheNastyOne的回答,您可以在客户端关闭来自dispatcher的连接,如下所示:

代码语言:javascript
复制
// Open connection.
var dispatcher = new WebSocketRails('localhost:3000/websocket'); 

// Close connection.
dispatcher.disconnect();

这里解决了描述这两种方法的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28438582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档