crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Надо передать строку по сети, Помогите с реализацией
sibmail
  опции профиля:
сообщение 31.3.2009, 12:40
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 63
Регистрация: 20.3.2009
Пользователь №: 626

Спасибо сказали: 0 раз(а)




Репутация:   0  


Надо передать строку по сети другому приложению (не Qt), чтобы на другом конце получили строковые данные, а не бинарные

Был пример
QByteArray arrBlock;
QDataStream out(&arrBlock, QIODevice::WriteOnly);
//out.setVersion(QDataStream::Qt_4_2);
out << quint16(0) << lineEdit->text();

out.device()->seek(0);
out << quint16(arrBlock.size() - sizeof(quint16));

m_pTcpSocket->write(arrBlock);


Я переделал QDataStream на QTextStream, но никакой передачи не наблюдается. Подскажите что не так и как сделать ))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 31.3.2009, 15:13
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(sibmail @ 31.3.2009, 18:51) *
дайте пример хотя бы передачи не двоичных данных а текстовых строк по протоколу TCP
посмотри пример Network Chat Example

там текстовая строка передается.
фрагменты от туда:
class Connection : public QTcpSocket

 bool Connection::sendMessage(const QString &message)
{
     if (message.isEmpty())
         return false;

     QByteArray msg = message.toUtf8();
     QByteArray data = "MESSAGE " + QByteArray::number(msg.size()) + " " + msg;
     return write(data) == data.size();
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 1.12.2024, 4:36