![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 05.04.2012
Сообщений: 56
|
![]()
Сорс робит.
Клиент: PHP код:
сервер: PHP код:
Последний раз редактировалось Dizelektwo; 27.04.2012 в 19:56. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 26.09.2011
Сообщений: 176
|
![]()
возможно изза этого
Код:
Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 05.04.2012
Сообщений: 56
|
![]()
Спасибо тебе, но нет. Здесь в принципе разницы нет. count число байт, bufs размером в Count.
Ошибка именно в передаче файла, как я понял. recv считывает файл до первого пробела? Как в таком случае передать файл в не измененном виде? Заменить пробелы на другие знаки и при получение обратить процесс? Знаю что мои мысли абсурдны, но уже даже и догадок нет в чем проблема. Отправляю файл и опять передает только до первого ' '. Сейчас попробовал запустить передачу файла в цикле, по окончанию что бы отправлял "end" и закрывал бы соединение. Бестолку. Не понимаю в чем дело Отправлено : end ||| start. Получено(файл mm.txt): endHHHHHHHHHH. Со сплошным содержимым проблем нет, например строка "япишунасипипиприветмир" передается нормально. Последний раз редактировалось Dizelektwo; 27.04.2012 в 18:15. Причина: добавлено |
![]() |
![]() |
![]() |
#4 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
microbit +1
sizeof(bufs) === 4, по-любому |
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 05.04.2012
Сообщений: 56
|
![]()
f.hump
Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
это не для чего, а к тому, что вместо того, чтобы объявлять вашу сплошную строку статически запихните ее в файл и зацените результат.
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 05.04.2012
Сообщений: 56
|
![]()
Извините, видимо я совсем дуб. Но строка- то у меня в файле и я этот файл отправляю. Какое объявление? Единственное что я объявляю - это строка "ок".
Я прописываю путь к файлу, далее узнаю его размер в байтах. Конвертирую int и byte ф-ей itoa, передаю размер файла. Сервер выделяет буфер под файл. Далее отправляет "ок"- успех получения, далее клиент начинает отсылать файл. Count - это число байт, bufs- это массив размером в Count. Что мне следует исправить? Последний раз редактировалось Dizelektwo; 27.04.2012 в 19:00. |
![]() |
![]() |
![]() |
#8 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
сделайте как microbit предложил.
и когда делаете send тоже sizeof выкиньте Последний раз редактировалось f.hump; 27.04.2012 в 19:02. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 05.04.2012
Сообщений: 56
|
![]()
Благодарю, все робит. Первый раз по какой-то причине результата это не дало. Позже удалил созданный раннее файл mm.txt и все пошло как по маслу. новый mm.txt полный дубликат передаваемого файла. Спасибо еще раз
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Закачка файла на WinSock | t2skler | Общие вопросы Delphi | 14 | 19.11.2018 11:54 |
Передача файла по сети (winsock) | lol48 | Фриланс | 8 | 08.06.2011 21:44 |
передача данных на Winsock | megostudent | Win Api | 5 | 23.03.2011 17:35 |
Скачивание файла winsock | Horus92 | Работа с сетью в Delphi | 13 | 25.02.2011 13:29 |