<html>
<head>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js'></script>
<script>
$(document).ready(function(){
function debug(str){ $("#debug").append("<p>"+str+"</p>"); };
ws = new WebSocket("ws://yourservice.com/websocket");
ws.onmessage = function(evt) { $("#msg").append("<p>"+evt.data+"</p>"); };
ws.onclose = function() { debug("socket closed"); };
ws.onopen = function() {
debug("connected...");
ws.send("hello server");
};
});
</script>
</head>
<body>
<div id="debug"></div>
<div id="msg"></div>
</body>
</html>
require 'em-websocket'
EventMachine::WebSocket.start(:host => "0.0.0.0", :port => 8080) do |ws|
ws.onopen { ws.send "Hello Client!"}
ws.onmessage { |msg| ws.send "Pong: #{msg}" }
ws.onclose { puts "WebSocket closed" }
end
https://www.igvita.com/2009/12/22/ruby-websockets-...
Вот здесь я начал читать про веб сокет соединение.
Есть простой код на клиенте в браузере есть обработчик и с этим все понятно.
Тонкость в деталях не совсем понятна.
Так как тут просто руби(не rails) мы устанавливаем гем 'em-websocket' глобально.
Подключить thin тоже через require? и запустить в командной строке вот так в директории ruby файла sudo thin start -p 8080.
А сдесь ws://yourservice.com/websocket адрес виртуального хоста?, тоесть скрипт к вирт хосту нужно прицепить?