問題タブ [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.
multithreading - 複数のリクエストを同時に処理するQt Websocket
私のアプリケーションは、Qt websocket の例 ( http://doc.qt.io/qt-5/qtwebsockets-echoserver-example.html )に基づいています。私のアプリケーションでは、約 20 人のユーザーが websocket サーバーに接続しており、一部のユーザーは数メガバイトのメッセージを送信しています。
websocket サーバーがこれらの大きなメッセージ (数秒または数分かかる場合があります) を受信している間、他のすべての要求を完全にブロック/キューに入れるか、他のクライアントから接続することに気付きました。
この問題に対処できる推奨設計はありますか? ありがとう
c++ - 接続されたソケットで QWebSocketServer を終了する
C++/Qt 5.12.1 で記述されたコンソール マルチスレッド アプリケーションをデバッグします。Linux Mint 18.3 x64 で動作しています。
このアプリにはSIGINT
ハンドラーQWebSocketServer
とQWebSocket
テーブルがあります。テーブル内の項目に対して/を使用close()
QWebSocketServer
して呼び出し、終了を処理します。abort()
deleteLater()
QWebSocket
Websocket クライアントがこのコンソール アプリに接続すると、実行中のスレッドが原因で終了に失敗します (内部QWebSocket
スレッドだと思います)。接続がなければ、終了は成功です。
修正方法は?アプリが正常に終了するようにします。
javascript - Qt runJavaScript 関数で Javascript クラス オブジェクトにアクセスする
私はjavascript/HTMLが初めてなので、最近Qt QWebEngineViewを使用してプロジェクトを開始しました。私は、C++ プログラムから Javascript にデータを共有するための最良の方法を見つけることにしばらく行き詰まりました。これまでのところ、Javascript プログラムにデータを送信できた唯一の方法は、QWebEnginePage::runJavaScript
関数を使用することです。ここQWebChannels
で説明されている使用の可能性があることも確認しましたが、その単純さのために を好みます。QWebEnginePage::runJavaScript
私がこれまでにrunJavaScript
メソッドで抱えていた唯一の問題は、変数を書き込むために、これを HTML ファイルで定義する必要があるということでした。それが私のために働いた唯一の方法でした。私の現在のシナリオは次のようになります。
HTML ファイル内:
C++ ファイルの場合:
この設定により、C++ コードから Javascript/HTML 側に変数を書き込むことができます。このソリューションでは、送信する値ごとに HTML ファイルに個別の変数をできるだけ多く作成する必要があるため、個別の変数を使用する代わりに、クラス オブジェクトまたは JavaScript オブジェクトを使用することが可能かどうかを尋ねたかったのです。以下のようなクラス メンバーを記述するいくつかのメソッドを含むクラスを作成し ます。 js ファイル内:
このソリューションでは、クラスのオブジェクトを作成し、javascript ファイルからPositionState
関数を呼び出すとobj.setPosition(44,10.45)
、オブジェクトのクラス メンバーは正しく設定されますが、C++ から実行しようとするとエラーが発生します。
obj
Javascriptファイルでのみ定義すると、エラーが発生しますjs: Uncaught ReferenceError: obj is not defined
。そして、HTML ファイルで変数を定義しId="obj"
て同じスクリプトを実行するとjs: Uncaught TypeError: obj.setPosition is not a function
、エラーが発生しobj.setPosition
ますdocument.getElementById('obj').setPosition
。
したがって、HTML / Javascriptの知識がほとんどまたはまったくない場合、HTMLファイルはクラス定義を認識していないため、setPosition
メソッドを認識していません。私の質問は、C++ コードからクラス オブジェクトを作成する方法があるかどうかです。
また、JavaScript オブジェクトを使用してvar Position = {Latitude: 0, Longitude: 0, Heading: 0}
、C++ コードから QString を使用してスクリプトを実行 しようとしましPosition = {Latitude: 40, Longitude: 9, Heading: 20};
たが、Position オブジェクトのプロパティを変更することもできませんでした。
どんな助けでも本当に感謝します、ありがとう。
c++ - 反応でqtwebsocket webassemblyを実行するには?
反応で qtloader ファイルを使用する際に問題があります。読み込みプロセスで、qtloader が wasm ファイルのコンパイルで停止し、インスタンス化を続行しません。実行方法を知っている人はいますか?