|
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
|
|
Передать файл через локальную сеть или интернет11.02.2011, 19:59. Показов 17115. Ответов 49
Метки нет (Все метки)
Хотел дописать пост в тему про Winsoc и прочие шпалости=), но потом подумал, что 1 вопрос -1 тема. И так, сам вопрос:как можно передать файл, независимо от его типа(картинка, музыка, архив) через сетку(локальная сеть или интернет)? В предыдущей моей теме мы разобрались как делать чат, а вот как именно передать файл я не понимаю и чую, что здесь как-то не всё так просто.
0
|
|
| 11.02.2011, 19:59 | |
|
Ответы с готовыми решениями:
49
Как создать виртуальную локальную сеть через интернет Не получается раздовать интернет через PPPoE сеть 1 в локальную сеть 2 Интернет через локальную сеть |
|
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
|
|
| 12.02.2011, 23:08 | |
|
0
|
|
|
Почетный модератор
23253 / 9167 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
|
| 12.02.2011, 23:14 | |
|
0
|
|
|
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
|
|
| 12.02.2011, 23:21 | |
|
0
|
|
|
Почетный модератор
23253 / 9167 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
||||||
| 12.02.2011, 23:27 | ||||||
|
Имя сервера имеет значение, я так полагаю? А если я собрался на простой комп слать, что ж я буду указывать?
Вот еще код покажу, может, в нем что-то не то:
0
|
||||||
|
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
|
||||||||||||||||
| 27.02.2011, 18:27 [ТС] | ||||||||||||||||
|
Простите, что ещё раз поднял тему, но у меня возник ряд вопросов. С отправкой файлов легко разобрался(спс ещё раз Maden). Вешаем на кнопку сенд файл и всё.
Вот код, чуть модернизированный, но в основном made in _Лёша_.
0
|
||||||||||||||||
|
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
|
|
| 27.02.2011, 19:04 | |
|
0
|
|
|
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
|
|
| 27.02.2011, 21:18 [ТС] | |
|
Моя тупость+невнимательность порождает very big problems. Сожалею, но я ничего не нашёл=( Можно посмотреть копию этого поста-ответа?
0
|
|
|
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
|
||
| 27.02.2011, 21:24 | ||
|
0
|
||
|
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
|
|
| 27.02.2011, 22:22 | |
|
Не смотрел все приведенные коды, но я не очень понимаю, зачем какие-то библиотеки использовать. Алгоритм передачи файлов довольно прост - сначала открываем файл через объект FileStream. У этого объекта есть метод Read, который считывает все содержимое файла в массив байтов, а затем этот массив байтов передаем через сокеты по нужному адресу. Сокет-приемник через такой же объект FileStream записывает полученные байты в новый созданный уже у себя файл.
0
|
|
|
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
|
|
| 06.03.2011, 21:46 [ТС] | |
|
Опять поднял тему. А как во время передачи файла отображать:общий вес файла, сколько передано. И отображать всё это в прогресс баре?
0
|
|
|
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
|
|
| 07.03.2011, 12:45 | |
|
Как я полагаю, это делается примерно так - сначала посылается сообщение с маркером, по которому сервер распознает, что был послан запрос о имени файла и в ответ посылает клиенту длину файла
А по передачи - смотря как ее реализовать - в принципе при получении сообщения оно оказывается в массиве байтов, благодаря этому можно отследить количество полученных данных. А связать с прогрессбаром - просто при передаче байтов, равных (общее количество байтов/100) выполнять метод PerformStep() при свойстве Step=1
2
|
|
|
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
|
|
| 11.04.2011, 19:39 | |
|
Вот простейший пример (кусок от моей проги), если еще актульно. Может кому пригодиться. По инету не рекомендую использовать, по локалке работает на ура. Максимальный объем передаваемого файла 45 мб, больше тоже не рекомендую.
1
|
|
|
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
|
||||||
| 11.04.2011, 20:51 [ТС] | ||||||
|
_Лёша_, в локалке не проверял, но в инете файлы кидает, но не принимает на другом конце. Если запускать exe шник, то ничего вообще не вылазит, а если из вб нета, то пишет "Текущий поток должен быть задан как поток однопоточного контейнера (STA), чтобы вызовы OLE стали возможны. Проверьте, что ваша функция Main помечена атрибутом STAThreadAttribute. Данное исключение создается, только если к процессу подключен отладчик." в строчке
0
|
||||||
|
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
|
|
| 11.04.2011, 21:08 | |
|
Про исключение, он требут, чтобы сейффайлдиалог находился в основном потоке формы, а не в бэкграунде, куда я его загнал, не обращай внимание, важен сам код. Там сначала передается расширение файла, а затем сам файл, ты можешь уже построить это дело как тебе вздумается, это просто пример. По инет когда доходят файлы, когда нет (нужно чтобы были открыты порты 27015 и 27012 вроде), попробуй сам себе на внешний ip файл кинуть, если ничего не получится - шарь порты.
1
|
|
|
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
|
|
| 11.04.2011, 21:18 [ТС] | |
|
с исключением разобрался. просто запускаю файл из Debbug . Но вот с самой передачей файла... Короче когда отправляю файл себе на ip, то просто ничего не происходит. Вообще ничего.Завтра на работе возьму 2 компа, попробую через локалку. Но с инетом тоже стоит разобраться
p.s у меня windows 7, так что брандбраузер не беспокоит, а порты на модеме я открыл
0
|
|
|
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
|
|
| 11.04.2011, 21:38 | |
|
на 7 и у меня была проблема сегодня, там сейффайл диалог отказывается работать тупо, почему - хз. А сам код передачи рабочий 100%, контролы уж сам сделай. НУ если уж совсем не понимаешь, напиши разжую.
0
|
|
|
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
|
|
| 11.04.2011, 21:40 [ТС] | |
|
Напиши плиз, если не сложно, буду очень благодарен. В любом случае-программист, написавший код понимает его лучше, чем даже компьютер, который его выполняет. А уж куда мне, смертному, до Компьютера=((()))
0
|
|
|
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
|
|
| 12.04.2011, 14:49 | |
|
1
|
|
|
105 / 33 / 1
Регистрация: 01.10.2010
Сообщений: 310
|
|
| 12.04.2011, 19:33 [ТС] | |
|
Подправил чуть-чуть. Всё прекрасно работает. Спасибо большое. Вот исправленный вариант(ремарки не трогал). У меня заработало, если отправлять файл сам себе на внешний ip. Потом проверю через инет и локалку
0
|
|
|
388 / 377 / 22
Регистрация: 08.02.2011
Сообщений: 1,078
|
|
| 12.04.2011, 20:42 | |
|
0
|
|
| 12.04.2011, 20:42 | |
|
Интернет через локальную сеть Доступ в интернет через локальную сеть
Мобильный интернет через локальную сеть Интернет на двоих через локальную сеть Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|