| 
					 Название: отключение от QTcpServer Отправлено: ilyagoo от Октября 21, 2008, 09:09 Сервер на одном компе, клиенты на другом. Как отследить отключение клиентов от сервера с помощью QTcpServer без использования таймера (по таймеру можно было бы отслеживать количество подключений)? Клиенты - QTcpSocket. 
					Название: Re: отключение от QTcpServer Отправлено: Rcus от Октября 21, 2008, 09:46 http://doc.trolltech.com/4.4/qabstractsocket.html#disconnected 
					Цитировать void QAbstractSocket::disconnected ()   [signal] This signal is emitted when the socket has been disconnected. Название: Re: отключение от QTcpServer Отправлено: IMPOMEZIA от Октября 21, 2008, 15:11 Можно долго ждать: 
					void QAbstractSocket::disconnected () если клиент отключился каким-нибуть неправильным способом, например методом выдёргивания сетевого кабеля или переходом в ждущий режим. Название: Re: отключение от QTcpServer Отправлено: ilyagoo от Октября 21, 2008, 15:13 Цитировать This signal is emitted when the socket has been disconnected. Сокет-то понятно как узнает об отключении сервера, а вот как узнает об этом сервер???Название: Re: отключение от QTcpServer Отправлено: Rcus от Октября 21, 2008, 15:50 QTcpServer разделяет соединения через  
					Цитировать QTcpSocket * QTcpServer::nextPendingConnection ()   [virtual] действительно, сам он не узнает :)Returns the next pending connection as a connected QTcpSocket object. Название: Re: отключение от QTcpServer Отправлено: Admin от Октября 21, 2008, 17:55 в веб серверах 
					1) если клиент не прислал данные в течении timeout, удаляем клиента 2) keep-alive - клиент посылает каждый минуту маленький пакетик Название: Re: отключение от QTcpServer Отправлено: ilyagoo от Октября 22, 2008, 12:06 Кстати, еще один вопрос. 
					В примерах к Qt есть некий chat. Это приблизительно то, что мне нужно, но... Я запускаю его на разных машинах и вижу следующий результат: в линухе он видит себя и остальные запущенные экземпляры под любой осью, в виндах он видит себя и все линуксовые экземпляры, но не видит ни одного из запущенных на машинах под виндами. винды в домене, перевод в рабочую группу не помогает. брандмауэр отключен. что не так?  |