問題タブ [qlocalsocket]

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 に答える
2037 参照

c++ - QLocalSocket は何も送信しません

まあ、私はまだ QLocalSocket を介して実行されている IPC を取得しようとしています。明らかにソケットが接続され、接続が受け入れられますが、何かを送信しようとすると

応答がありません...サーバーのソケットは何もしません。

サーバーの読み取り実装:

出力:

クライアント:

サーバ:

ソケットの readReady() シグナルは発行されないので、使用することにしました

...しかし、明らかにそれも機能しません。クライアントの関数のwaitForReadyRead直後に起動されます。これは、読み取る準備ができていることを意味すると思います...write

[編集] はauto conn = connection(...)デバッグ用で、正しく接続されているかどうかを確認するためのものでした....そうです

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

c++ - 名前付きパイプにQLocalSocketが本当に使用されていますか

Windows で名前付きパイプを使用する場合、Qt のドキュメントによると、QLocalSocket を使用できます。Qtでサーバーとクライアントのプログラムを書いています。WIN32 API を使用してパイプラインにメッセージを書き込もうとすると、Qt クライアントはそれを表示しません。また、クライアントが再度 WIN32 API を使用して書き込む場合、Qt サーバーは送信されたメッセージをエコーし​​ません。QLocalSocket は名前付きパイプに本当に推奨されますか?

これは Win32 サーバー コードです。

これは Win32 クライアント側です。

これはQtサーバー側です

これは Qt クライアント側です

0 投票する
0 に答える
685 参照

c++ - QLocalSocket::disconnectFromServer() は、イベント ループが Windows の Qt5 で再入力されるまでソケットを切断しません。

Qt5 用のプログラムをコンパイルしましたが、実行時の動作が異なります。

Qt5 では、イベントループが再入力されるまでソケットは切断されませんwaitForDisconnected()

たとえば、このコード:

次の出力が得られます。

Started QEventLoop...しかし、メッセージを受け取るまでソケット自体は削除されません。ソケットが反対側から切断されるのを待つ別のアプリケーションからこれを監視しているためです。

Qt4 でコンパイルすると、同じコードが正常に動作waitForDisconnected()し、ソケットが戻る前に切断されます。Qt5waitForDisconnected()では、実際には切断されていないのに、ソケットが切断されたと主張して返されます。

Qt の私のバージョンは 5.1.1 です。

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

c++ - Qt 5.2: QLocalServer が重複した readyRead シグナルを受信する

単純な QLocalServer-QLocalSocket IPC システムを設計する際の問題に困惑しています。

QLocalServer は新しい接続を待ち、信号を適切なスロットに接続します。

この readAll は、2 つの readyRead シグナルを順番に取得する方法を確認するために意図的に行われます (同じスロット ポインターから確認しました)。

クライアントの操作は非常に簡単です。

_socket->write(data)呼び出しは、サーバーで重複した readyRead をトリガーします(サーバー側が ReadAll 呼び出しですべてのデータを読み取った場合でも)。

私がどこを見なければならないかの兆候はありますか?

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

c++ - QLocalServer は、バイトが使用できない場合に readyRead を発行します

ローカル OSX 10.11 で QLocalServer を起動しようとしています。

サーバーへの接続をループで試行するクライアントがあります。

このコードの実行中に、別のアプリケーションで QLocalServer を起動しようとします。

readyRead が呼び出されたときに、バイトが利用できないのはなぜですか?

0 投票する
0 に答える
152 参照

linux - QLocalSocket 接続から PID を取得することは可能ですか?

クライアント プロセスがローカル Unix ドメイン ソケットを使用してサーバーに接続できるクライアント/サーバー アーキテクチャを構築しています。

サーバー プロセスは Qt で実装され、QLocalServer と QLocalSocket を使用してサーバー側で接続を維持します。

接続情報から直接、接続しているクライアント プロセスの PID を取得する方法はありますか? クライアントが別のプロセスの PID を偽装しようとするリスクがあるため、クライアントがソケット接続を介して PID を教えてくれることを信頼したくありません。