- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在瘦服务器上使用 websocket。以下代码尝试运行一个时钟,每 0.1 秒更新一次网页上的时间。
PAGE
是要呈现的初始页面的内容。serve
和 session
方法启动。websocket
方法启动。tick_every
是一个实用函数,它在每个给定的时间间隔的正确时机调用一个 block 。代码:
require "rack"
require "thin"
require "em-websocket"
PAGE = <<_
<html>
<body><div id="output"></div></body>
<script>
window.addEventListener("load", init, false);
function init(){
websocket = new WebSocket("ws://localhost:4000");
websocket.onmessage = function(evt){
document.getElementById("output").innerHTML = evt.data;
};
}
</script>
<div id="output"></div>
</html>
_
def serve
Rack::Handler::Thin.run(Rack::Builder.new do
map("/"){run(->env{session(env)})}
end, Port: 3000)
end
def session env
websocket(env["SERVER_NAME"])
[200, {}, [PAGE]]
end
def websocket host
EM.run do
EM::WebSocket.run(host: host, port: 4000) do |ws|
ws.onopen do
tick_every(0.1){|t| ws.send "The time now since epoch in sec is #{t}"}
end
end
end
end
def tick_every sec, &pr
Thread.new do loop do
t = Time.now.to_f # present time in micro seconds
frac = t.modulo(sec.to_f) # fractional (decimal) part of it w.r.t. `sec`
pr.call((t - frac).round(6)) # calls the block, passing the present time with precision of `sec`
sleep(sec - frac) # wait for the next flat `sec`
end end
end
serve
当我运行此命令并在 localhost:3000
打开网页时,websocket
在控制台中返回一条错误消息:
!! Unexpected error while processing request: no acceptor (port is in use or requires root privileges)
并在网页上显示初始时间,但三十秒内不更新(不确定,但这似乎是恒定的,这可能有一些意义),之后,它开始每0.1秒更新一次时钟.
最佳答案
问题原来是,浏览器正在请求一个我没有设置的图标。也许,它会等到超时,大概是三十秒,然后才开始工作。该错误来自 favicon 请求。
关于javascript - 将 websocket 与 Thin 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16661658/
我使用 Circus 作为 Rails 项目的主管,但在让它与我选择的 Ruby 服务器 Thin 一起工作时遇到了一些奇怪的问题。这是我的circus.ini: [circus] check_del
我正在尝试了解 bundle exec 的工作原理及其作用。我已经使用 bundle install 安装了 gems,如下所示: bundle install --binstubs ./bundle
在尝试将 Rails 应用程序部署到服务器时,我遇到了一个问题,即当我尝试使用 cap production deploy:start 为它加注星标时,“thin”没有加注星标。真正奇怪的是,它没有任
我正在尝试为我的应用程序精简,但随后无法生成 pid: $ thin -C /var/www/project_path/current/config/myproject.testing.yml sta
我指的是 pub railscast tutorial并已正确执行所有步骤,但在运行最后一个命令时,即 rackup private_pub.ru -s thin -E production 为了架设
我正在从我的私有(private) git 存储库安装应用程序。我安装了所有依赖项并且我正在使用 Capistrano。我能够在我的本地计算机上成功运行应用程序。我正在使用 rails -v 3.2.
我让它与 Puma 一起工作,但使用 Thin 我没有得到任何流输出,我必须杀死服务器才能停止它。我正在使用tenderlove输出当前时间的初始示例进行测试: http://tenderlovema
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
有没有办法在“ Google文档”文档中使用Roboto Thin字体? 我找到了一种添加Roboto字体的方法(通过“更多字体...”),但是我还没有找到一种设置Thin或Light版本的方法。 最
在为 textview 设置自定义字体时,我只能选择普通、粗体或斜体: 在以下示例中,如何将样式设置为 light 而不是粗体? 最佳答案 这是特定于字体的。并非所有字体都有 light、mediu
在我的生产服务器上,我收到 Missing template有时异常(exception)。 设置是 VPN 与 CentOS5、ruby 1.9.2、Rails 3.2.1、8 个 nginx 实例
我正在尝试在 Linux 的 QML 中使用 robot thin 字体。我在 ubuntu 上安装了粗体、细体和浅体。 openoffice 等其他程序只显示 roboto。我如何在 qml 中使用
我正在尝试在 Linux 的 QML 中使用 robot thin 字体。我在 ubuntu 上安装了粗体、细体和浅体。 openoffice 等其他程序只显示 roboto。我如何在 qml 中使用
我需要在 Swing 中选择一个标准容器(JPanel?),我可以将其用作占位符,我可以向其中添加另一个扩展 JPanel 的自定义组件: JPanel containerPanel; // buil
默认情况下,Apple 似乎只允许 @3x、@2x 和 @1x 作为图像和应用程序瘦身的后缀。 @3x 资源似乎是为 iPhone 6/7 Plus 保留的,尽管它们的屏幕分辨率小于最大的 iPad
我知道我可以选择使用 --ssl-verify 来验证客户端,但是我如何指定我想使用哪个 CA 链?我习惯于提供一个文件(比如 curl 的 --cacert 或 WEBrick 的 :SSLCACe
因为它是无线程的, ruby 基薄片可以吗? 最佳答案 要进行异步连接,返回 -1 作为您的响应代码,并使用事件机器可延迟执行一些操作。 检查异步 thin examples了解更多信息。 关于rub
我写了一个小脚本来使用 Sinatra 和 Thin 按字节流式传输文件: #!/usr/bin/env ruby require 'sinatra' require "sinatra/streami
我正在使用 casrack-the-authenticator gem 进行 CAS 身份验证。我的服务器在 Sinatra 上运行 Thin。我已经让 CAS 身份验证位正常工作,但我不确定如何告诉
我正在尝试使用这个 program它实现了基于像素的“细化”算法的扩展,该算法可以找到位图的骨架。 自述文件中告诉我应该执行“make”命令,然后执行“./test -image-file test1
我是一名优秀的程序员,十分优秀!