crossplatform.ru

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

> Получение текста через TCP сокет, Нахождение символа конца строкит ()
fsMark
  опции профиля:
сообщение 2.5.2008, 23:42
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 97
Регистрация: 23.4.2008
Из: г. Киров
Пользователь №: 155

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




Репутация:   1  


Получаю данные QTcpServer`ом от удаленного telnet клиента, признак конца команды (насколько я понял из немногочисленной документатции) есть ничто иное как признак конца строки и перевод каретки (т.е. "\n\r").
Использую следующий код для получения команды целиком (она записывается в буфер)
    void myFtpServer::slotReadClient() 
        {
        QTcpSocket* pClientSocket = (QTcpSocket*)sender();
        QTextStream in(pClientSocket);  
        QString tmp;    
        tmp = "";
        in >> tmp;
        buffer = buffer + tmp;    
        if (buffer.indexOf("\n\r")!=(-1))
        {
        //здесь обработка команды
        buffer = "";
        };
        
        }

Такой код ничего хорошего не дает ((, возникает вопрос правильно ли я ищу признак конца строки и перевод каретки.. или может я неправ насчет того что передает telnet при нажатии enter`а? Кто сталкивался подскажите пожалуйста.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
fsMark
  опции профиля:
сообщение 3.5.2008, 19:07
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 97
Регистрация: 23.4.2008
Из: г. Киров
Пользователь №: 155

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




Репутация:   1  


Все получилось, сделал так:
    void myFtpServer::slotReadClient() 
        {
            QTcpSocket* pClientSocket = (QTcpSocket*)sender();
        
            QByteArray temp;
        
            temp = pClientSocket->read(255);
            buffer = buffer + temp;
        
            if  (buffer.indexOf("\r\n")!=(-1))
                {            
                    //Обработка команд
                    buffer = "";
                }
        
        }
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 30.11.2024, 7:27