EventMachine Web ソケット クライアントwss://
を TLS を使用して安全な Web ソケット サーバーに接続するのに問題があります。
EventMachine Web ソケット サーバーをセットアップして正常に実行しています。ブラウザから JavaScript を使用でき、接続はうまく機能します。EventMachine Web ソケット クライアント接続を機能させることができません。
証明書に問題があるのではないかと考えていますが、どうすればよいかわかりません。
ここに私のクライアントコードがあります:
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]]
ws:// を wss:// に置き換えてみましたが、役に立ちませんでした。
ちなみに、問題から暗号化を取り除けば、すべて正常に機能します。
他の誰かがこれで成功していますか?