問題タブ [qtwebsockets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
617 参照

c++ - QWebSockets のクライアント側で SSL 証明書の有効性を確認するためのベスト プラクティス

新しい QWebSockets を使用するアプリケーションを作成しようとしています。

これまでのところ、安全な Web ソケットを実装したいと考えていますが、例では、SSL エラーが安全でないとコメントされていても、SSL エラーを拒否するように指示されています。

私の質問は、クライアント側で自己署名証明書であっても、SSL証明書の制御をどのように処理すればよいですか? この場合のベストプラクティスは何ですか?

参考までに、ここにQWebSocket クラスによって発行される QSSLErrors へのリンクがあります。

残念ながら、webSocket.sslConfiguration().peerCertificate() は、出力時に空の値を返します。

0 投票する
3 に答える
4110 参照

c++ - Qt ローカル セキュア Web ソケット

WebSocket を介して Web ブラウザー (現在は Google Chrome) と通信する Qt アプリケーションに取り組んでいます。

安全なWebソケットを使用しようとするまで、すべてが正常に機能していました...

OpenSSL で発生した問題を解決できたので、Qt アプリケーションが動作するはずですが、動作していません。

私はVS2013とQt 5.3を使用しています。サーバーを起動するための次のコードがあります。

次の方法を使用して証明書ファイルを作成しました: https://developer.salesforce.com/blogs/developer-relations/2011/05/generating-valid-self-signed-certificates.html

ブラウザ側では、次のものしかありません。

残念ながら、試行するたびに、次の JS メッセージが表示されました。

ここのところ:

  • QSslSocket::supportsSsl ()戻り値true
  • QSslSocket: cannot resolve XXX methodメッセージはありません
  • OpenSSL DLL がロードされ、VS2013 は次のメッセージを出力します。

    'MyProject.exe' (Win32): 'I:\Sources\VS2013\x64\Release\ssleay32.dll' をロードしました。PDB ファイルが見つからないか、開くことができません。'PressAndListenQt.exe' (Win32): 'I:\Sources\VS2013\x64\Release\libeay32.dll' をロードしました。PDB ファイルが見つからないか、開くことができません。

何が間違っているのかを見つける方法がわからないので、どんな提案も受け付けています!

編集:(上記のリンクの代わりに)以下を使用して自己署名証明書を生成しようとしました:

今、私は別のエラーが発生します:

0 投票する
2 に答える
1338 参照

qt - Qt5 WebSockets テスト アプリがテスト サービスに接続しない

テストサービスへのqt websocketを開きたかったのですws://echo.websocket.orgが、エラー番号を読み取るためにコード内のスロットにQAbstractSocket::RemoteHostClosedError 信号を接続しているというエラーが表示され、ここerror(QAbstractSocket::SocketError socketError)でそれを探します

私のコードは次のようになります

私はウェブソケットを初めて使用するので、どこに問題があるのか​​ わかりません。誰でもアドバイスできますか?

0 投票する
1 に答える
644 参照

qt - Qt websocket サーバーの例が機能しない

http://doc.qt.io/qt-5/qtwebsockets-echoserver-example.htmlの例を試して、単純な websocket サーバーを作成し、Google chrome ブラウザー経由で接続します。

サンプル ファイル、デフォルト ポート (1234) を使用してビルドしたところ、アプリケーションは「ポート 1234 でリッスンしている WebSocketServer」で正常に動作しています。しかし、サンプルhtmlに接続しようとすると、接続がありません。他のポートも試しました。

私の問題は、問題のある場所でデバッグを開始する方法がわからないことです。エラーなどは発生しません。問題の可能性はありますか?ありがとう!

0 投票する
1 に答える
2173 参照

c++ - QWebSocket はハンドシェイクを処理できません

を使用した WebSocket 接続の確立に問題がありQWebSocketます。Qt 5.6 とそのQWebSocket実装を使用しています。サーバーは正しく動作し、WS v13プロトコルを使用していると確信しています。すべてのブラウザで正常に動作します。errorサーバーに接続しようとすると、QWebSocket がstateChangedこれらのメッセージを出力して通知します (errorString()メソッドを使用して取得します)。

と表示されていますがConnection closed while reading header、実際には接続は閉じられていません (サーバーがしばらくして websocket を介して追加のパケットを送信するため)。websocket.org のエコー テストでアプリケーションをテストしたところ、問題なく動作しました。しかし、両方の試行でパケットを盗聴しましたが、大きな違いは見つかりませんでした。

接続しようとしているサーバーでのパケット スニッフィングの結果:

との接続でのパケット スニッフィングの結果echo.websocket.org:

問題を調査して解決するにはどうすればよいですか? サーバーにアクセスできません。

PS はい、私はQTBUG-40878を認識しています。これは Qt 5.3.1 に影響しますが、私は 5.6.0 を使用しており、Qt セットアップで明らかに修正されています。

0 投票する
1 に答える
1221 参照

qt - QTcpSocket からの QWebSocket

QTcpServer などを使用して小さな Web サーバーを作成しました。問題なく動作するので、もう少し進んで Qt の WebSocket 機能を実装したいと思いました。WebSocket サーバーが Web サーバーと同じポートで到達できるようにしたい (クライアント ネットワークの制限のため)。

私の WebSocket-Server は でアクセスできるはずなので、 QTcpSocket (のリクエストハンドラからアクセス可能)QWebSocket/admin/socketに「アップグレード」する方法が必要です。QWebSocket は、QWebSocketServerPrivate のこのアップグレード メソッドによって使用されるこのコンストラクターにこの機能を備えていますが、それはすべてプライベートであり、QWebSocketServer によって内部的にのみ使用されます。 /admin/socket

私が上で説明したことを達成する方法はありますか?独自の WebSocket ハンドラを実装する必要がありますか?