我很难让 EventMachine Web-socket 客户端wss://
使用 TLS 连接到安全的 Web-socket 服务器。
我有一个 EventMachine web-socket 服务器设置并且运行良好。我可以在浏览器中使用 javascript,并且连接效果很好。只是无法让 EventMachine Web-socket 客户端连接工作。
我认为这可能与证书有关,但不知道如何判断。
这是我的客户代码:
require 'eventmachine'
require 'em-websocket-client'
EM.run do
conn = EventMachine::WebSocketClient.connect("ws://0.0.0.0:9110/message")
conn.callback do
data = {data: 'data'}
conn.send_msg data.to_json
end
conn.errback do |e|
puts "Got error: #{e}"
end
conn.stream do |msg|
puts "<#{msg}>"
conn.close_connection
end
conn.disconnect do
puts "success"
EM::stop_event_loop
end
end
我没有错误?我可以从客户端破译。在服务器上(以调试模式运行)仅显示:
[[:initialize]]
[[:unbind, :connection]]
我也尝试用 wss:// 替换 ws:// 无济于事。
顺便说一句,如果我把加密排除在问题之外,一切都会很好。
还有其他人在这方面取得成功吗?