crossplatform.ru

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


  Ответ в Надо передать строку по сети
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
AD Дата 1.4.2009, 17:36
  По TCP-протоколу текстовые данные я так отправлял.
QTcpSocket tcpSocket;
QString fstring("");

bool writeToDevice(const char* data, int size)
{
    if(data == 0) return;
    if(!_stricmp(data, "")) return;
    qint64 d_size = tcpSocket.write(data, size);
    if(tcpSocket.waitForBytesWritten(5) && tcpSocket.waitForReadyRead(20))
        fstring += data;
        
       return d_size == size;
}
igor_bogomolov Дата 1.4.2009, 14:21
 
Цитата(sibmail @ 1.4.2009, 13:40) *
не подскажите с приемом как быть??

Вы бы описали задачу по подробнее. Мне например непонятно в чем помощь нужна. Из вашего первого поста можно судить, что сервер есть, причем реализован без использования Qt. И вопросс был как ему передать данные. Теперь же спрашиваете про прием?
Все что вы пытаетесь сделать очень хорошо описано в Assistant-e. Ссылки уже давали
Цитата(ViGOur @ 31.3.2009, 16:02) *
Для лучшего понимания как работать с сетью в Qt посмотри примеры: Fortune Server Example и Fortune Client Example.

С использованием этих примеров можно отладить взаимодействие клиент-сервер на одном компе, что упрощает задачу.
Admin Дата 1.4.2009, 13:43
 
Цитата(LE0N @ 1.4.2009, 13:19) *
Да яяя, да яяя, да попой на ежа.....
LE0N, Устное предупреждение!
LE0N Дата 1.4.2009, 13:19
  Ну и где в этом, что ты сделал передаётся длина строки?
Цитата
ни че курить не надо, я программил на других языках не плохо и работу с сетью также.

Да яяя, да яяя, да попой на ежа..... :(
sibmail Дата 1.4.2009, 12:40
  передачу я сделал
QByteArray arrBlock;
arrBlock=lineEdit->text().toUtf8();
m_pTcpSocket->write(arrBlock);

Снифером посмотрел передается как надо.

не подскажите с приемом как быть??
Litkevich Yuriy Дата 31.3.2009, 15:13
 
Цитата(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();
}
ViGOur Дата 31.3.2009, 15:02
  В твоем случае нужно использовать не QDataStream, а QTextStream .

Для лучшего понимания как работать с сетью в Qt посмотри примеры: Fortune Server Example и Fortune Client Example.
sibmail Дата 31.3.2009, 14:51
 
Цитата(trdm @ 31.3.2009, 13:17) *
прежде чем работать с сетью надо покурить рфс-ы.


ни че курить не надо, я программил на других языках не плохо и работу с сетью также.

дайте пример хотя бы передачи не двоичных данных а текстовых строк по протоколу TCP
trdm Дата 31.3.2009, 13:17
  прежде чем работать с сетью надо покурить рфс-ы.
LE0N Дата 31.3.2009, 13:05
  А ты узнай...
И протокол тоже - узнай. А то ведь можно и quint32 передавать...Скорее всего так оно и есть....Поэтому у тебя ни чего не отображает...в приложении...
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 24.10.2021, 2:33