【发布时间】:2012-05-02 05:49:51
【问题描述】:
我真的是这个问题的新手。但是,我无法弄清楚这个问题有什么问题。
我刚刚从网上某处复制了有关 ruby websocket 服务器和 ruby websocket 客户端实现的信息。我还在我的 windows xp 上安装了 ruby 1.93。一切看起来都很好,但是 websocket 客户端并不能很好地工作。
服务器端代码:
equire '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
客户端代码:
require 'eventmachine'
require 'em-http-request'
EventMachine.run {
http = EventMachine::HttpRequest.new("ws://localhost:8080").get :timeout => 0
http.errback { puts "oops" }
http.callback {
puts "WebSocket connected!"
http.send("Hello client")
}
http.stream { |msg|
puts "Recieved: #{msg}"
http.send "Pong: #{msg}"
}
}
客户端总是发出 "oops" 。这意味着发生了错误。
有人可以给我任何线索吗?我很感激。
【问题讨论】:
-
既然您要求提供线索,请将其添加到您的服务器
ws.onerror { |error| p error },发出客户端请求并读取服务器输出的任何内容。