首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抽筋和heroku

抽筋和heroku
EN

Stack Overflow用户
提问于 2011-09-13 04:50:30
回答 1查看 753关注 0票数 2

我一直在尝试使用Cramp来实时推送应用程序中的信息。这一切都在本地运行得很好,但当我推送到heroku时,我似乎遇到了端口问题。

我在cramp中设置了一个套接字,它继承了websocket

代码语言:javascript
复制
class LiveSocket < Cramp::Websocket

我还有一个名为home的抽筋动作,它基本上只是为主页呈现一些erb。

代码语言:javascript
复制
class HomeAction < Cramp::Action

在我的路由文件中,我设置了以下内容以及一个静态文件服务器

代码语言:javascript
复制
Rack::Builder.new do

  puts "public file at #{File.join(File.dirname(__FILE__), '../public')}"
  file_server = Rack::File.new(File.join(File.dirname(__FILE__), 'public'))



 routes = HttpRouter.new do
   add('/').to(HomeAction)
   get('/LiveSocket').to(LiveSocket)
 end
  run Rack::Cascade.new([file_server, routes])



end

然后,在客户端,javascript连接到

代码语言:javascript
复制
var ws = new WebSocket("ws://<%= request.host_with_port %>/LiveSocket");

正如我在本地所说的那样,这一切都是有效的。我们连接并开始接收来自服务器的通知。在heroku上,我们在Cedar堆栈上运行thin,并且有一个配置文件,看起来像

代码语言:javascript
复制
web: bundle exec thin  --timeout 0 start -p $PORT

当我加载站点时,页面本身加载正常,但在尝试连接websocket时,我得到一个错误,它说

代码语言:javascript
复制
servername.herokuapp.com Unexpected response code: 200

我猜这与heroku路由请求的方式有关,但我知道你可以在heroku上运行node.js websocket服务器,所以我想一定有办法让它工作。

提前感谢您的帮助。

干杯

斯图尔特

EN

回答 1

Stack Overflow用户

发布于 2011-09-14 00:52:32

我不认为Heroku支持websockets :( http://devcenter.heroku.com/articles/http-routing#the_herokuappcom_http_stack

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

https://stackoverflow.com/questions/7393884

复制
相关文章

相似问题

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