передача файла по TCP |
Здравствуйте, гость ( Вход | Регистрация )
передача файла по TCP |
Rastorev |
10.3.2009, 22:00
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 27.2.2009 Пользователь №: 579 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день!
Программа клиент TCP должна передавать информацию о файле и сам файл на сервер TCP и отображать ответ и текущее состояние сервера Сделано стандартно по примеру QT - обмен строковой информации между клиентом и сервером по TCP/IP происходит через открытый сокет, теперь я пытаюсь разбить файл на блоки и передаю в сокетный поток, а на сервере принимая каждый блок сохраняю в файл, но в файл выводятся иероглифы вместо нужной информации. Клиента код.
Нужно сделать так чтобы сервер создавал файл и содержимое полученное от клиента получалось нормальным. Подскажите пожалуйста, в чем ошибка? может решить эту проблему по другому? Может быть есть какие-нибудь нюансы которые я не учел? Заранее спасибо!!!
Причина редактирования: используйте тэг code
|
|
|
ViGOur |
18.3.2009, 9:04
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Ты немного не так делаешь. Правильней было бы сделать своего рода протокол передачи файла.
Перед началом передачи файла отправляешь принимающей стороне 4 байта, в которые записан размер файла, дальше можно передать имя файла(пуская этот блок будет 64 байта), после чего уже идет сам файл, пример структуры передачи:
Отправляешь данную структуру примерно так:
далее также с помощью socket.write отправляешь сам файл. Сообщение отредактировал ViGOur - 18.3.2009, 9:07 |
|
|
Текстовая версия | Сейчас: 30.1.2025, 0:25 |