Всё просто.
По большей части разобрася. Не считая того как задать обработку новых сообщений от старых соединений.
Тк насколько я понял сам сервер реагирует только на новые подключения.
При новом подключении к серверу у сервера автоматически происходят следующие действия:
1. Объект сервера вызывает автоматически метод:
void incomingConnection ( int socketDescriptor ) в котором
socketDescriptor - это дескриптор сокета входящего подключения.
2. Объект сервера автоматически отправляет сигнал:
void newConnection ()Далее вы поступаете любым из следующих методов (как вам захочется):
1. Если вы хотите упор сделать на использование
void incomingConnection ( int socketDescriptor ) то вы должны переопределить этот метод, написав в его теле нужный вам код, например:
void YuorServer::incomingConnection(int socketDescriptor)
{
//1. Определяем новый объект - сокет
QTcpSocket *socket = new QTcpSocket() ;
//Пока что этот сокет "пустой/неинициализированный". Чтобы его инициадизировать - нужно установить в сокет дескриптор
//входящего подключения.
//2. Пытаемся установить
if (!socket->setSocketDescriptor(socketDescriptor))
return;
//3. Теперь можем производить операции I/O с этим сокетом. т.е. можем читать и писать в него/из него.
// Все эти операции i/O с сокетом можно сколько угодно времени производить, пока клиент не отключится от сервера.
// После отключения клиента необходимо уничтожить сокет.
}
2. Если упор на сигнал
void newConnection () - то вам необходимо создать какой-нить слот с любым названием, типа:
void slotProcNewConnection(). Предварительно нужно подключить сигнал, который испускает объект сервера к вашему слоту. А в теле слота написать так:
void YuorServer::slotProcNewConnection()
{
QTcpSocket *socket = nextPendingConnection ();
//в этом случае сокет инициализировать не нужно, т.к. метод nextPendingConnection () вернет уже инициализированный объект.
//Теперь с сокетом можно работать, т.е производить операции I/O и т.п.
}
Как я понимаю нужно писать цикл, но вот вопрос какой Обеспокоенный
Не нужно никаких циклов
в программировании новичок, а в qt и подавно
почитайте книжки по Qt4 для начала типа М. Шлее или Ж. Бланшет. Для начала. Литература имеется и на этом форуме в разделе "Общие вопросы" и на форуме: crossplatform.ru
И где можно посмотреть список сигналов?
Найдите в той директории куда установлен у вас Qt4 екзешник:
assistant.exe и запустите его.
Вот в кратце как оно всё работает