草庐IT

WebSocket注解

全部标签

ruby-on-rails - 在建立连接之前关闭 WebSocket - Rails 5

我正在尝试让Action电缆工作,但出现错误WebSocketconnectionto'ws://cloud9workspace:3000/cable'failed:WebSocketisclosedbeforetheconnectionisestablished.我已经搜索了整个谷歌,但找不到任何有用的东西。我确实将第3行添加到我的config.ru中,因为Cloud9社区的某个人说他们尝试过并且有效。虽然它对我不起作用。require::File.expand_path('../../config/environment',__FILE__)Rails.application.ea

ruby - EventMachine 和 em-websocket - 从队列中读取并推送到 channel

我正在使用eventmachine读取HornetQ主题,推送到由EMwebsocket连接订阅的channel。我需要防止@topic.receive循环阻塞,所以创建了一个proc并在没有回调的情况下调用EventMachine.defer。这将无限期地运行。这很好用。我也可以只使用Thread.new。我的问题是,这是从流/队列中读取并将数据传递到channel的正确方法吗?是否有更好的/任何其他方法来执行此操作?require'em-websocket'require'torquebox-messaging'classWebsocketServerdefinitialize@c

ruby - Websocket 连接关闭而不在 Shotgun 服务器上打开

我有一个使用Websockets的Sinatra应用程序。当我使用rubyapp.rb运行我的应用程序时,它可以正常工作,但当我尝试使用shotgunapp.rb运行它时,它不起作用。这是在我的sending_out.erb中:$(document).ready(function(){connection=newWebSocket('ws://'+window.location.host+window.location.pathname);connection.onopen=function(){$("#msgs").append('Connectionopened'+"")};con

ruby-on-rails - 大量的 WebSocket 连接

我正在编写一个应用程序,用于跟踪在特定任务的用户之间推送的内容。我正在考虑使用WebSockets发送新内容,因为它们可供当前正在使用该应用程序执行给定任务的所有用户使用。我在Rails上写这篇文章,客户端应用程序在iOS上(可能也会在Android上)。恐怕这个WebSocket解决方案可能无法很好地扩展。在决定使用WebSockets还是某种轮询解决方案时,我会寻求一些建议和需要考虑的事项。RubyonRails服务器(如Heroku)是否支持同时打开大量WebSockets?为了争论起见,假设有一百万个连接。任何人都可以提供给我这样的Material吗?如果我以这种方式构建,服务

ruby - 如何将 sinatra 作为 websocket 服务器运行?

我尝试过使用eventmachine,但我所拥有的只是一个在一侧运行sinatra的应用程序,在另一侧运行一个事件机器服务器。我不知道如何将sinatra应用程序作为websocket运行。例如,我想将其作为websocket提供:get'/'do#pullinfofromDBanddisplayend感谢任何帮助。谢谢! 最佳答案 你检查“sinatra-websocket”了吗?来自维护者:[...]Itlet'syourunthewebsocketserverinthesameprocessandonthesameportas

ruby - 如何从 websocket 连接握手的 header 中解码 cookie? ( ruby )

我在EventMachine.run循环中运行一个Sinatra应用程序,在我的ws.onopen方法中我想检查handshakeheader的cookie,以确保传入的请求来self的webapp的注册用户。我的Sinatra应用包括以下内容:useRack::Session::Cookie,:key=>COOKIE_KEY,:path=>'/',:expire_after=>2592000,#30days:secret=>COOKIE_SECRET我的ws.onopen方法看起来像这样(修剪)ws.onopen{|handshake|cookie,bakesale=handshak

服务端(后端)主动通知前端的实现:WebSocket(springboot中使用WebSocket案例)

一、背景我们都知道http协议只能浏览器单方面向服务器发起请求获得响应,服务器不能主动向浏览器推送消息。想要实现浏览器的主动推送有两种主流实现方式:轮询:缺点很多,但是实现简单websocket:在浏览器和服务器之间建立tcp连接,实现全双工通信springboot使用websocket有两种方式,一种是实现简单的websocket,另外一种是实现STOMP协议。这一篇实现简单的websocket,STOMP下一篇在讲。实际需求:​项目中需要做一个消息提示功能,当有用户处理相关待办信息后,别的用户需要实时更新处理后的待办信息。解决方案:​1、使用最原始的方法,写个定时器去查询待办信息。但这种方

nginx实现对websocket加密协议wss协议的反向代理以及websocket整合springboot入门(踩坑)

出发点最近公司需要有一个推送前端消息的需求首选websocket进行推送,也做过客服系统接触过,最近看了一点websocket的相关内容记录总结一下。什么是websocketwebsocket简单来说就是一个服务端可以向客户端发送请求的一个协议,因为现在企业级开发大部分还是由客户端向服务器发送请求索要请求数据,但是在聊天,消息推送等场景下,需要服务器向web前端或者IOS,Android,小程序推送一些消息,就需要借助websocket工具了整合springboot由于博主是需要服务端向web前端发送消息,故需首先整合websocket到后端项目。Java项目,springboot框架下,首先

nginx配置websocket外网映射

配置代码如下://将http连接升级为websocket连接,这条代码是关键不可少map$http_upgrade$connection_upgrade{default keep-alive;'websocket' upgrade;}server{listen80;//服务器监听端口号server_namelocalhost;location/socket{proxy_passhttp://10.243.34.186:9004;//代理转发地址proxy_http_version1.1;proxy_set_headerUpgrade$http_upgrade;//http连接升级websock

Ruby:连接到远程 WebSocket

我正在尝试使用Celluloid和基于赛璐珞(gem'celluloid-websocket-client')的Websocket客户端连接到远程websocket。这个客户端对我来说的主要优点是我可以使用类方法而不是block形式的回调。require'celluloid/websocket/client'classWSConnectionincludeCelluloiddefinitialize(url)@ws_client=Celluloid::WebSocket::Client.newurl,Celluloid::Actor.currentend#WhenWebSocketis