![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
Асоишница |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Репутация: нет Всего: нет |
Здравствуйте! У меня проблема....есть код, но он не работает, точнее не дописан. Программа должна выводить новые сообщения на ящике. Пока выдаёт только:
connect +OK user +OK pass+OK STAT Для продолжения нажмите любую клавишу... и всё.....я уже вторую неделю над этим бьюсь.....а нужно срочно......потому как потом ещё надо дописать, чтоб это выводтлось с окошечком и желательно ещё файлы передавало(если есть у кого что-нибудь на эту тему, поделитесь пожалуйста...)......Ну то есть это типа клиент-сервер, но через почту....Код для отправки уже есть ..Очень нужна помощь....... вот текст программы:
Это сообщение отредактировал(а) Асоишница - 19.4.2012, 01:04 |
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Чисто поверхностный взгляд говорит об одной ошибке
(MAKEWORD(1,1),&wsa); Используется спецификация 1.1 - а подключены сразу две статические библиотеки #pragma comment(lib, "ws2_32.lib") #pragma comment(lib, "wsock32.lib") Для 1.1 нужна только последняя библиотека. Подключение двух разных может при работе вызывать конфликт. И еще Так что у вас получается? Виснет? Где виснет? Код ошибки какой? Или что? Это сообщение отредактировал(а) Олег2005 - 19.4.2012, 10:42 |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 10 Всего: 45 |
Попробуйте в этом месте не sizeof(buf), а stlren(buf) (даже если не поможет, это правильнее, но я думаю, что поможет ![]() Это сообщение отредактировал(а) feodorv - 19.4.2012, 14:10 -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
Асоишница |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Репутация: нет Всего: нет |
feodorv, не помогло((((
Олег2005, тоже не помогло((((. Оно запускается....... это пишет при выполнении: "Чтение почты.exe": Загружено: "D:\Visual Studio 2010\Projects\Чтение почты\Debug\Чтение почты.exe", Символы загружены. "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\ntdll.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\kernel32.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\KernelBase.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\ws2_32.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\msvcrt.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\rpcrt4.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\sspicli.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\cryptbase.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\sechost.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\nsi.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\msvcr100d.dll", Символы загружены. "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\msvcp100d.dll", Символы загружены. "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\mswsock.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\user32.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\gdi32.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\lpk.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\usp10.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\advapi32.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\imm32.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\msctf.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Program Files (x86)\Searchqu Toolbar\Datamngr\datamngr.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\wtsapi32.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\dbghelp.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Выгружено: "C:\Program Files (x86)\Searchqu Toolbar\Datamngr\datamngr.dll" "Чтение почты.exe": Выгружено: "C:\Windows\SysWOW64\dbghelp.dll" "Чтение почты.exe": Выгружено: "C:\Windows\SysWOW64\wtsapi32.dll" "Чтение почты.exe": Загружено: "C:\Program Files (x86)\Searchqu Toolbar\Datamngr\IEBHO.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\dbghelp.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Выгружено: "C:\Program Files (x86)\Searchqu Toolbar\Datamngr\IEBHO.dll" "Чтение почты.exe": Выгружено: "C:\Windows\SysWOW64\dbghelp.dll" "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\WSHTCPIP.DLL", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\nlaapi.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\NapiNSP.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\pnrpnsp.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\dnsapi.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\winrnr.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Program Files (x86)\Common Files\microsoft shared\Windows Live\WLIDNSP.DLL", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\psapi.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\shlwapi.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\wshbth.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\IPHLPAPI.DLL", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\winnsi.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\FWPUCLNT.DLL", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\rasadhlp.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Выгружено: "C:\Windows\SysWOW64\WSHTCPIP.DLL" "Чтение почты.exe": Выгружено: "C:\Windows\SysWOW64\nlaapi.dll" "Чтение почты.exe": Выгружено: "C:\Windows\SysWOW64\NapiNSP.dll" "Чтение почты.exe": Выгружено: "C:\Windows\SysWOW64\pnrpnsp.dll" "Чтение почты.exe": Выгружено: "C:\Windows\SysWOW64\winrnr.dll" "Чтение почты.exe": Выгружено: "C:\Program Files (x86)\Common Files\microsoft shared\Windows Live\WLIDNSP.DLL" "Чтение почты.exe": Выгружено: "C:\Windows\SysWOW64\shlwapi.dll" "Чтение почты.exe": Выгружено: "C:\Windows\SysWOW64\psapi.dll" "Чтение почты.exe": Выгружено: "C:\Windows\SysWOW64\wshbth.dll" "Чтение почты.exe": Выгружено: "C:\Windows\SysWOW64\FWPUCLNT.DLL" "Чтение почты.exe": Загружено: "C:\Windows\SysWOW64\apphelp.dll", Невозможно найти или открыть файл PDB "Чтение почты.exe": Загружено: "ImageAtBase0x49e20000", Загрузка отключена параметром включения/исключения. "Чтение почты.exe": Выгружено: "ImageAtBase0x49e20000" Поток 'Поток Win32' (0x948) завершился с кодом -1073741510 (0xc000013a). Программа "[1612] Чтение почты.exe: Машинный код" завершилась с кодом 0 (0x0). вот что выводит при запуске: запущенное |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 10 Всего: 45 |
Понятно... Ха, тогда наоборот: recv(s, buf, strlen(buf), 0); заменить на recv(s, buf, sizeof(buf), 0); Ну и отсутствии цикла чтения:
Ну или что-то в этом роде с построчным чтением из сокета... -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
Асоишница |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Репутация: нет Всего: нет |
feodorv, пасиб))))уже показывает сколько писем в почтовом ящике и размер их в байтах...но в связи с этим вопрос: как сделать так, чтобы учитывались только новые? И в идеале надо будет, чтоб показывало только то, что было послано из самой программки, т.е. без учёта "левых" сообщений. Это как-то можно реализовать? потому как пока в голову приходит только регистрация типа "Введите имя латиницей", программка сама допишет @mail.ru и пользователь даже знать не будет, что у него почтовый ящик есть....
|
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
||||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 10 Всего: 45 |
Ну, ээээ, не помню я протокола pop3, но, по-моему, нудно просматривать заголовки сообщений (есть такая команда) и выискивать заголовок, в котором стоит new (не помню имя этого заголовка(((() Ну, можно subject какой-то особый ввести, плюс сразу возникает вопрос шифрования... А зачем такие сложности? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
Асоишница |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Репутация: нет Всего: нет |
ну просто это задание по курсовому....и оно звучит не "считывать и отправлять почту", а "создание клиент-серверной системы на основе электронной почты", т.е. что-то вроде своей аськи. я на 1 курсе |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 10 Всего: 45 |
Хорошо звучит))) Тогда вот это лишнее: Во-первых, фиг програмно зарегистрируешься. Во-вторых, имя уже может быть занято. Самое простое - потребовать от пользователя специального почтового аккаунта для работы с сервером. Т.е. и имя, и пароль уже должны существовать и вводиться пользователем в начале работы с клиентом. А у сервера будет будет свой особый емайл? Или каждый клиент может быть и сервером? А что (хоть приблизительно) должен делать сервер? И какая польза будет клиенту?))) Гм... Надеюсь, дело на закончится рассылкой спама? ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
Асоишница |
|
||||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Репутация: нет Всего: нет |
как-то не подумала об этом...... Добавлено через 11 минут и 5 секунд
препод кроме темы ничего толком не говорил.....просто "делайте".... у меня пока 2 проекта: один отправляет почту, другой- принимает(над вторым ещё работаю)...всё это планируется оформить не в консольке....типа отправить и получить письмо, а если будет время, то попробую с прикреплением файлов(правда пока не знаю, чё там и как)....Хочу отойти от email-а, т.е. чтоб был виден не он, а просто имя......Но ещё одна проблемка......допустим, я сначала решила проверить почту, а потом приложение......и тут косяк: письмо с приложения у меня на почте.......Думала, может, сделать так, чтоб передать можно было, как в Скайпе: только когда пользователь онлайн.......но с другой стороны.... а если надо оставить пользователю сообщение типа "Позвони, когда будешь дома"....даже не знаю, что делать....... |
||||
|
|||||
feodorv |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 10 Всего: 45 |
Мне кажется, что с задачей следует определиться. Кто что кому шлёт и зачем. А то какая-то абстракция получается: ну научимся отправлять/принимать почту, а толку? Насколько жёсткие условия клиент-серверности? Выделенный сервер нужен, или любой клиент - сервер? Может, придумать себе емайл-библиотеку: на сервере лежит набор книг в текстовом виде (тогда и вложений не придётся делать, или они нужны?) Пользователь шлёт запрос: хочу себе книгу номер 8, и она ему присылается. Можно ввести список подписчиков (чтобы не абы кому присылать), можно нет. Плюс команда на посылку каталога книг (а его хранить в текстовом файле в простом формате: номер имя-файла автор-название-книги). Напридумывать можно многое (даже емайл-магазин), но обмен сообщениями типа "Позвони, когда будешь дома" как-то меня не привлекает... Есть же СМС...
А как иначе? Даже телефоны могут быть вне зоны доступа, тогда как СМС слать? -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
||||
|
|||||
Асоишница |
|
|||
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 13.3.2012 Репутация: нет Всего: нет |
он тонко намекнул, что ему всё равно, как мы это сделаем....главное, чтоб работало т.е. что-то вроде приложения для себя сделать????типа позакидывать себе кучу книг и "работать библиотекарем"?? или я всё буквально поняла?.....что-то типа коммерческого проекта создать? кстати, неплохой вариант...... |
|||
|
||||
Олег2005 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
||||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 10 Всего: 45 |
+1 Ну, скорее для преподавателя)))) Чтобы курсовой сдать)))) Для себя - это скорее ответы на билеты хранить по номерам, и по запросу по емайлу их присылать запрашивающему)))) Для простоты (лишь бы работало) достаточно создать статическую (неизменяемую) библиотеку текстов (один раз!). Тогда "работать библиотекарем" будет серверная программа, которую ещё надо написать ![]() ![]() ![]() -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |