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`а? Кто сталкивался подскажите пожалуйста.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
ViGOur
  опции профиля:
сообщение 3.5.2008, 11:28
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

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




Репутация:   40  


Вообще-то не "\n\r", а "\r\n". :)
Другими словами так:
if (buffer.indexOf("\n\r")!=-1)

Цитата(' date='3.5.2008, 1:10) *
посредствам indexOf("") не определяется не \n, не \n\r. Видимо надо както подругому искать конец строки..
P.S. Тестировал видовым телнетом.
А ты уверен, что у тебя сервер принимает данные?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




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