Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2011, 19:45   #1
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию Ктонибуть отправлял большие файлы через сокеты?

тут такое дело...
хотел отправлять файлы через сокеты, больше 100mb но мозгов нехватает это дело написать самому
вот я и подумал, что может кто-нибуть это уже написал.
а то с моим "кодом" я ещё месяц возиться буду(

в общем если есть у когонибуть исходники или exe файлы, выложите пожалуйста
пыжок
maloun вне форума Ответить с цитированием
Старый 21.07.2011, 19:53   #2
pproger
C++ hater
Старожил
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

какая разница, сколько передавать? правильно анализируй, что вернули send/recv и хоть терабайт шли
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 21.07.2011, 20:02   #3
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
какая разница, сколько передавать? правильно анализируй, что вернули send/recv и хоть терабайт шли
собстна это и есть проблема, анализируется у меня плохо и багов выше крыши
пыжок
maloun вне форума Ответить с цитированием
Старый 21.07.2011, 20:16   #4
grafgrial
Просто хороший
Форумчанин
 
Аватар для grafgrial
 
Регистрация: 26.03.2010
Сообщений: 562
По умолчанию

Цитата:
Сообщение от maloun Посмотреть сообщение
собстна это и есть проблема, анализируется у меня плохо и багов выше крыши
Код предоставь, мне тоже пригодится заодно и поможем
Помог, нажми весы слева
grafgrial вне форума Ответить с цитированием
Старый 21.07.2011, 20:26   #5
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию

Цитата:
Сообщение от grafgrial Посмотреть сообщение
Код предоставь, мне тоже пригодится заодно и поможем
за ранее извиняюсь за код, он убог

1ый баг- temptemp.tmp c начало весит 64кб а клиент в файл сохраняет 62,
потом отправляется запрос, ответа на который я не получает, и собстна этим всё и заканчивается
нужно переписывать в общем...
Вложения
Тип файла: rar 121212.rar (15.8 Кб, 14 просмотров)
пыжок

Последний раз редактировалось maloun; 21.07.2011 в 20:37.
maloun вне форума Ответить с цитированием
Старый 21.07.2011, 21:14   #6
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

чем стандартный TCustomWinSocket.SendStream() не устраивает?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 22.07.2011, 09:30   #7
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию

Цитата:
Сообщение от veniside Посмотреть сообщение
чем стандартный TCustomWinSocket.SendStream() не устраивает?
ServerSocket1.Socket.Connections[0].SendStream(Stream1);

в сервере было так ServerSocket1.Socket.Connections[0];
кажется удалил случайно...
пыжок
maloun вне форума Ответить с цитированием
Старый 22.07.2011, 11:42   #8
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,898
По умолчанию

Вот рабочий пример, но если файл больше 100 или 500 метров, то ошибки при передаче с последующим заступориванием.
Вложения
Тип файла: rar Sockets.rar (13.0 Кб, 17 просмотров)
Shouldercannon вне форума Ответить с цитированием
Старый 23.07.2011, 12:08   #9
maloun
Форумчанин
 
Аватар для maloun
 
Регистрация: 03.01.2011
Сообщений: 233
По умолчанию

Цитата:
Сообщение от Shouldercannon Посмотреть сообщение
Вот рабочий пример, но если файл больше 100 или 500 метров, то ошибки при передаче с последующим заступориванием.
суть в том что бы передавать файл по частям, что бы не загружать в буфер много, я думал с этим ошибок и ступоров возникнуть не может, но кажется ещё как может
пыжок
maloun вне форума Ответить с цитированием
Старый 23.07.2011, 13:23   #10
_-Re@l-_
C++, Java
Старожил
 
Аватар для _-Re@l-_
 
Регистрация: 10.04.2010
Сообщений: 2,665
По умолчанию

Ну попробуйте такой алгоритм.
1)Открываете нужный вам файл в бинарном виде.
2)Загружаете из него , допустим, 100 байт.
3)Грузите их в массив.
4)Отправляете.
5)Если ещё есть байты, то пункт 1.
_-Re@l-_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача массива через сокеты Kingcss Работа с сетью в Delphi 0 10.07.2011 16:14
Не отправляет файл через сокеты Nerig C++ Builder 0 19.05.2011 16:38
Передавать большие файлы через IdUDP SoftKoc Работа с сетью в Delphi 6 20.11.2010 14:05
не качает большие файлы LevonNikox PHP 11 30.08.2010 22:36
NMPOP3 не загружает большие файлы D@rkD@iver Работа с сетью в Delphi 0 24.02.2010 11:24