問題タブ [qtcpsocket]

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 投票する
0 に答える
599 参照

qt - QTcpSocket を介してすべてのデータを転送する

libssh を使用して ssh トンネルをセットアップしています。ただし、これはローカル ポートにバインドしないため、ポートで受信したすべてのデータを ssh チャネルに転送する必要があります。ただし、これを行うと:

スロットは呼び出されません。newDataつまり、readyReadon QTcpSocket は呼び出されません。外部スクリプトを介してポートに接続しようとするたびに、Operation timed out. Qtアプリケーションが実行されていないときにエラーが発生するため、少なくともポートが開いていると確信していますConnection refused

の使用を検討しQTcpServerましたが、このケースをどのように処理すればよいですか? おそらくシグナルを受け取るでしょうがnewConnection、ssh チャネルにどのようなデータを書き込むのでしょうか? QTcpServer の複数の着信接続をどのように処理しますか? 接続要求もデータパケットではありませんか? すべてをチャネルに転送することはできませんか (私が参照している ssh チャネルは、簡単に書き込むことができる fd に似ています)。

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

c++ - 複数の情報を QTcpSocket 経由で同時に送信するには?

小さなクライアント/サーバー予約アプリを実行していて、クラスの情報を送信する方法にこだわっています。実際には3つのクラスがあり、次のような情報を送信しています:

クライアント側では、次のように受け取ります。

クラスに応じて1、2、または3。

問題は、情報が不完全であり、別のメソッドがソケットに書き込みを行っているためにソケットがクラッシュしたようなものです。すべての情報を順番に受け取る方法や、ソケットが読み取りを終了したことをサーバーに伝える方法はありますか?

私を助けてください ;(...

PD: はい、サーバーとソケットが正常に接続されていることを確認してください :)

注: 3 つのクライアント (21727090、20350202、および 123) を持つ QList があり、このトラフ qDebug() を受け取っています

2

"顧客: 21727090"

"顧客: 20350202"

"クライアント: 123"

「クライアント:」

「クライアント:」

「クライアント:」

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

c++ - QtNetwork クラスを使用するための最小の依存関係は何ですか

QTcpSocket共有ライブラリで と を使用したいのですQSslSocketが、 を作成する必要があるため混乱しましQCoreApplicationた。多分私は間違っていて、作成する必要はありませんQtCoreApplicationか?Qt ソケットを使用するための最小の依存関係は何ですか?

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

qt - qt ui プロジェクトとの単純な tcp 通信

単純な Tcp 通信プロジェクトを作成したいのですが、問題が発生し、その問題の解決方法がわかりません。解決策を見つけようとすると、すべての人がこのコード(QT + =ネットワーク)を.proファイルに追加するように指示しますが、UIプロジェクトではproファイルがないため、解決策を見つけることができません。

//commu.h

//commu.cpp

//main.cpp

エラーが発生します:

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

c++ - Qt: QSslSocket::bytesWritten() シグナルが頻繁に発行される

このコードを使用して、メモリ使用量のスパイクなしでソケットを介して大きなファイルを転送します。

これは で正常に動作しますQTcpSocketが、暗号化された QSslSocket を使用すると、bytesWritten()信号が常に送信され、ソケットを介してデータを送信するよりもはるかに速く関数が常にソケットに書き込みを行うため、最終的にメモリ使用量は 400 になります。 MBとOSがそれを殺します。

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

c++ - QTcpServer::incomingConnection(qintptr socketDescriptor) 指定したソケットに接続できますか?

サーバー クラスは QTcpServer から継承され、接続クラスにはメンバーとして QTcpSocket があり、接続するユーザーに関する情報 (名前、IP、ID...) があります。

私の問題は、new_connection について何も知らないことです。誰がサーバーに接続しているかを知る必要があります。このため、接続したいのですが、どうすればよいですか? 何か方法はありますか?または、接続されたソケット(ユーザー)からデータ(グリーティングメッセージ)を受信するまで待つ必要がありますか?