Russian Qt Forum

Qt => Работа с сетью => Тема начата: kip_one от Январь 31, 2013, 21:05



Название: [РЕШЕНО]QTcpServer,QTcpSocket
Отправлено: kip_one от Январь 31, 2013, 21:05
Прошу помощи :) Есть qtcpserver, на него подключаются 2 клиента. Как отправить через сервер пакет от одного клиента к другому.
Код:
void Widget::slotNewConnection(){
    QTcpSocket  * tcp = server->nextPendingConnection();
    connect(tcp,SIGNAL(readyRead()),this,SLOT(slotReadyRead()));
    connect(tcp,SIGNAL(disconnected()),tcp,SLOT(deleteLater()));
Я так понял когда клиент подключается - создается экземпляр tcp. Когда отправляю пакет tcp->write(block); Оно приходит клиенту который подключился. Как можно отправить другим экземпляром tcp ?


Название: Re: QTcpServer,QTcpSocket
Отправлено: Bepec от Январь 31, 2013, 21:56
Код:
QList<QTcpConnect *> listConnect;
QByteArray tmp = listConnect[0].readAll();
listConnect[1].write(tmp);

Что проще?


Название: Re: QTcpServer,QTcpSocket
Отправлено: kip_one от Февраль 01, 2013, 00:25
QTcpConnect? Что-то я такого не нашол


Название: Re: QTcpServer,QTcpSocket
Отправлено: Bepec от Февраль 01, 2013, 07:21
Писал на коленке в горящем R2D2. Конечно же там socket должен быть.

Проще выражаясь - сервер  должен хранить список подключенных клиентов, при отключении клиента удалять его с этого списка. Чтобы передать от 1 клиента что-то другому, необходимо просто принять данные от одного элемента списка и отправить другому элементу.


Название: Re: QTcpServer,QTcpSocket
Отправлено: kip_one от Февраль 01, 2013, 14:37
Я так и подумал :)