2015-08-04 3 views
0

Итак, у меня есть 2 приложения QT, один запускает QLocalServer и слушает подключение. При подключении другого приложения (клиента) он инициализирует QLocalSocket. На стороне клиента я просто подключаюсь к серверу. Есть ли способ, чтобы клиент обнаружил, когда сервер закрылся? Прямо сейчас, если я закрываю сервер, и клиент продолжает работать, я получаю исключение SIGPIPE, когда пытаюсь очистить сокет.Обнаружение закрытия QLocalSocket

ответ

0

Предположим, что вы используете подкласс, унаследованный от QAbstractSocket, по крайней мере, существует два способа обработки потерянного соединения.

SocketState QAbstractSocket::state() const , 

Вы можете запросить текущее состояние, если хотите. Во-вторых, QAbstractSocket может вызвать сигнал:

void disconnected() 

, то вы можете определить свой собственный слот для обработки разъединение.

Смежные вопросы