0

クライアントがシャットダウンされた場合、QTcpSocket はすぐに stateChanged シグナルを受け取りますか?

4

2 に答える 2

3

サーバー側でクライアントシグナル(disconnected())を使用して、状態変更シグナルを受信できます。

例えば:

サーバー側

connect(client, SIGNAL(disconnected()), this, SLOT(funcA())); 
//to recieve a signal immediately when client is shutdown

connect(client, SIGNAL(connected()), this, SLOT(funcB()));
// to recieve a signal immediately when client is connected

これがあなたを助けることを願っています。

于 2012-08-30T23:50:46.703 に答える
1

ソケットのリモート エンドが閉じている場合は読み取り可能になり、そこから読み取るとゼロ バイトを受け取ります。ソケットからの読み取りは、リモート エンドが適切に閉じられているかどうかを検出する適切な方法です。

したがって、あなたの質問に答えるために、ソケットから読み取ろうとするまでこれを知る方法がないため、リモートエンドが閉じられたときにstateChange信号がすぐに呼び出されないと推測しています。

于 2012-08-30T10:17:13.330 に答える