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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2017, 13:48   #1
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию Нужно получать файлы, посоветуйте средства

Здравствуйте. Я пишу монстра, задача которого - получать из интернета определённые команды, выполнять эти команды, и отправлять результат.
Это нечто похоже на ручного шпиона, но моя задача - личными средствами и умениями обеспечить доступ к собственным данным откуда либо, где есть интернет.

Раньше (три года назад) я написал подобную программу на Delphi, и программа была именно что шпионом (курсовая в универе), там использовался такой же механизм - через протокол pop3 получал команды, выполнял, и отправлял ответ через smtp. Но эта программа жутко не оптимизирована, а так же подключалась к почте без SSL/TLS, что сейчас я обнаружил невозможным.

Прошло три года, я переехал на C#, и заинтересовался таким же механизмом, но теперь уже на платформе NET. Что я вижу тут - SMTP есть, а вот POP3/IMAP я не обнаружил, и нагуглил следующее:
1 - Форум Microsoft;
2 - Реализация POP3Client - не работает, я думаю потому что нет указания порта подключения; в исходник не лез;
3 - Реализация IMAP - не разобрался; там целый проект, и что из него нужно использовать в моей программе - я так и не понял.

Сюда пришёл со следующим вопросом: как можно организовать приём данных в программе ?
Рассматриваются любые средства, которые в итоге позволят мне получать не только текст, но и файлы, как мне это позволяла моя программа на Delphi, там использовались вложения сообщений.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 28.01.2017, 13:57   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от OmegaBerkut Посмотреть сообщение
курсовая в универе
А теперь где? Тестовое задание в ФСБ?
Цитата:
Сообщение от OmegaBerkut Посмотреть сообщение
3 - Реализация IMAP - не разобрался; там целый проект, и что из него нужно использовать в моей программе - я так и не понял.
проще взять нормальную библиотеку типа https://imapx.codeplex.com/
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 28.01.2017, 14:06   #3
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
А теперь где? Тестовое задание в ФСБ?
Курсовая ещё есть; вчера обнаружил исходник с эпичным названием Unit1.pas, пересобрал, и увидел сообщение об ошибке, что то вроде "Conection enabled with only SSL/TLS"
upd:
Цитата:
Сообщение от OmegaBerkut Посмотреть сообщение
моя задача - личными средствами и умениями обеспечить доступ к собственным данным откуда либо, где есть интернет
Задача - для себя, не более ...
Upd:
ImapX - годная штука ... Так как я не могу повлиять на репутацию Alex11223 - просто пишу сообщение: разобрался, спасибо.
Подпись ? Не, не слышал ...

Последний раз редактировалось OmegaBerkut; 29.01.2017 в 07:06.
OmegaBerkut вне форума Ответить с цитированием
Старый 30.01.2017, 13:15   #4
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

У класса System.Net.Mail.SmtpClient есть одна не очень приятная "фича": сообщения с аттачами идут минут пять.
Причём класс ImapX (который привели выше) принимает сообщения с аттачами сразу плюс минус 10 секунд от времени отправки - то есть проблема не на сервере.
В отладке метод Send отрабатывает секунды за три.
Просто текстовые сообщения приходят сразу.
Есть ли решение ?
Проблема не критична, но всё же ...

upd: у меня есть предположение - аттачи загружаются на сервер в отдельном потоке, который создаётся в методе SmtpClient.Send() ... Но, это предположение можно попробовать опровергнуть сразу двумя наблюдениями:
1) я вызываю SmtpClient.Dispose(), и ссылку на экземпляр класса зануляю (присваиваю null); это моя привычка руками освобождать используемые ресурсы; использовать метод SendAsync не вариант - лень писать дополнительный код проверки отправки;
2) отправляемые файлы имеют сравнительно не большой размер (от килобайта до пяти мегабайт) - для пяти минут загрузки это маловато.
Подпись ? Не, не слышал ...

Последний раз редактировалось OmegaBerkut; 30.01.2017 в 16:57.
OmegaBerkut вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно выбрать лазерный принтер, посоветуйте. IT-Lopata Компьютерное железо 11 16.06.2014 13:34
Посоветуйте как экспортировать строки в txt файлы с имеющимся текстом. gremlintv2 Microsoft Office Excel 7 09.03.2013 21:17
Получать каптчу (картинку) не по ссылке, а из браузера - нужно переделать код scroyler Работа с сетью в Delphi 11 10.02.2012 20:33
Очень нужно сделать задачу в Delphi(Типизированные файлы. файлы записи) Vitalik1 Помощь студентам 1 16.12.2011 10:38
Получать пришедшие файлы N!ckeL Работа с сетью в Delphi 1 06.04.2008 09:49