Russian Qt Forum
Ноябрь 23, 2024, 01:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: клиент сервер qt 410  (Прочитано 5606 раз)
Anton
Гость
« : Март 11, 2006, 09:06 »

Необходимо от нескольких клиентов передавать данные серверу.В зависимости от содержимого данных, сервер реагирует по разному (например, прорисовывает разные примитивы,разного размера, цвета и т.д.) Как это сделать с помощью QTcpServer и QTcpSocket?Tckb можно, немного исходного кода
Записан
Dendy
Гость
« Ответ #1 : Март 11, 2006, 14:31 »

QTcpServer/QTcpSocket предоставляет низкоуровневьІй интерфейс для асинхронной работьІ с сокетами. Грубо говоря - возможность отправлять/принимать байтьІ. А у тебя задача слишком вьІсокого уровня. ФорматьІ данньІх и механизм их разбора прийдётся придумьІвать самому.

Вообще сначала стоит полностью прочитать документацию по данньІм класам и посмотреть примерьІ.
Записан
Anton
Гость
« Ответ #2 : Март 11, 2006, 14:46 »

Приведи пожалуйста пример передачи от клиента например, сообщения "client" а от сервера ответ "server"
Записан
Dendy
Гость
« Ответ #3 : Март 11, 2006, 16:26 »

Код:
class Server : public QTcpServer
{
..
void incomingConnection( int sock )
{
  QTcpSocket * s = new QTcpSocket( this );
  s->setSocketDescriptor( sock );
  s->write( "server", 7 );
}
..
};

void SomeClass::someFunc()
{
  s = new QTcpSocket( this );
  connect( s, SIGNAL(connected()), SLOT(connected()) );
  s->connectToHost( "localhost", 1234 );
}

void SomeClass::connected()
{
  s->write( "client", 7 );
}
Записан
sibmail
Гость
« Ответ #4 : Апрель 01, 2009, 12:08 »

Код:
class Server : public QTcpServer
{
..
void incomingConnection( int sock )
{
  QTcpSocket * s = new QTcpSocket( this );
  s->setSocketDescriptor( sock );
  s->write( "server", 7 );
}
..
};

void SomeClass::someFunc()
{
  s = new QTcpSocket( this );
  connect( s, SIGNAL(connected()), SLOT(connected()) );
  s->connectToHost( "localhost", 1234 );
}

void SomeClass::connected()
{
  s->write( "client", 7 );
}

а вот чтение данных не подскажите как реализовать??
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 20.