Название: Приём строки в Ascii по tcp Отправлено: azedol от Ноябрь 03, 2010, 13:18 Программа написанная на билдере шлёт строку, как показал wireshark в ascii.
QString не хочет воспринимать её. Так я с эмитировал, то что шлёт та программа: Код может не совсем и так но очень похоже... а вот так я принимал до этого: Код
Как правильно обработать входящую строку? Название: Re: Приём строки в Ascii по tcp Отправлено: Пантер от Ноябрь 03, 2010, 13:26 Кодировка какая? Читай про QTextCodec.
Название: Re: Приём строки в Ascii по tcp Отправлено: merke от Ноябрь 03, 2010, 13:39 может быть принять всё сначала в QByteArray?
Название: Re: Приём строки в Ascii по tcp Отправлено: azedol от Ноябрь 03, 2010, 15:40 спасибо за ответы :)
Кодировка какая? Читай про QTextCodec. кодировка по сути не имеет значения, т.к.в строке цифрыпопробую то что предложили upd: вроде QTextCodec помог, по крайней мере с эмуляцией, вечером затесчу прогу upd2: при тесте с реальной программой ничего не получилось вот данные из пакета, которые шлёт программа написанная на билдере: Код: 0030 31 20 30 20 31 20 31 20 31 20 1 0 1 1 1 а тот который я эмулировал и нормально принимает вот: Код: 0030 00 00 00 23 31 20 31 20 31 20 ...#1 1 1 получается что моя программа принимает данные только если в начале идёт 4 байта "00 00 00 23" hex ну и код: Код
Название: Re: Приём строки в Ascii по tcp Отправлено: crossly от Ноябрь 03, 2010, 22:36 если я правильно понял и in и out это QDataStream... то вам нужно внимательно прочитать документацию по этому классу.. использовать его для приема данных из программы на билдере не стоит..
Название: Re: Приём строки в Ascii по tcp Отправлено: azedol от Ноябрь 04, 2010, 12:48 Хорошо, а что тогда использовать?
Название: Re: Приём строки в Ascii по tcp Отправлено: merke от Ноябрь 04, 2010, 13:01 Однозначно не использовать QDataStream.
Прочитать в инете какой ByteOrder в delphi. Далее просто читай в QByteArray из сокета методом read(); А далее уже разбирай данные! Название: Re: Приём строки в Ascii по tcp Отправлено: azedol от Ноябрь 25, 2010, 15:26 Спасибо всем :)
Решение проблемы: Код
|