| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > Qt и сеть |
| Автор: shutffl 12.1.2009, 22:40 | ||
| Доброго времени суток! Пишу сетевой проект на Qt. Проект почти закончен. Но никак не могу придумать, как передать в цикле массив quint16.
Нужно передать массив (quint16 wrd_rej[16]). Если передаю на сервер таким способом, то получается строка(!), содержащая все(!) значения массива. Например: 1234567, если в массиве было 1,23,4,567. Я что-то не понял в сетевом взаимодействии в Qt? Или просто надо с регулярными выражениями возиться? Передавать строку с разделителем, а потом ее в массив запихивать. В свое время под gcc (на чистом C) писал проги с сокетами. И клиенты, и сервера. Там я и структуры передавал. А уж просто int - халява. Где по этому поводу почитать? PS: Пишу под Windows. Потом будет перенос под Linux. |
| Автор: pan2004 12.1.2009, 22:47 |
| Ну наверно дело здесь: конвертируешь число в строку(аналогично QString::number). А этого и не надо. Добавлено через 5 минут и 2 секунды Вообще непонятно зачем QByteArray, больше бы подошел QDataStream |
| Автор: shutffl 13.1.2009, 02:37 |
| Спасибо за ответ! В строку перевожу для передачи, так как передать можно только строку. write(). А можно коротенький примерчик по QDataStream? В Assistent читал в свое время что-то. Только как-то не въехал. Надо перечитать будет. |
| Автор: SABROG 13.1.2009, 09:46 |
| Тогда QTextStream. А ему в конструктор уже сокет передавай. |
| Автор: shutffl 13.1.2009, 12:32 | ||||||
| Все получилось. Всем огромное спасибо. Оказалось очень просто. Но это же Qt) Привожу кусок рабочего кода. Отправка:
Получение:
Напоминаю, что
|