igrigorik / em-websocket

EventMachine based WebSocket server

Home Page:http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Not an upgrade request

arlyxiao opened this issue · comments

The environment
Rvm Ruby 2.1.3
os X 10.9.2

Code:
require 'em-websocket'

EventMachine::WebSocket.start(:host => "0.0.0.0", :port => 8080, :debug => true) do |ws|
ws.onopen { ws.send "Hello Client!"}
ws.onmessage { |msg| ws.send "Pong: #{msg}" }
ws.onclose { puts "WebSocket closed" }
end

Error messages

[[:initialize]]

[[:receive_data,
"GET / HTTP/1.1\r\nHost: 127.0.0.1:8080\r\nConnection: keep-alive\r\nCache-Control: max-age=0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8\r\nUser-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36\r\nAccept-Encoding: gzip,deflate,sdch\r\nAccept-Language: zh-CN,zh;q=0.8,en;q=0.6\r\n\r\n"]]

[[:error, EventMachine::WebSocket::HandshakeError: Not an upgrade request

[[:unbind, :connection]]

You're making a regular GET request so the error is exactly appropriate.