クライアントがシャットダウンされた場合、QTcpSocket はすぐに stateChanged シグナルを受け取りますか?
質問する
808 次
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 に答える