
Последние записи
- Кодировка в INDY 10 (как бороться с «???»)
- Переход по ссылке при клике на кнопку, счётчик кликов по кнопке и число переходов по ссылке на ява скрипт
- Сравнение двух диапазонов ячеек Excel на полное совпадение данных
- С++. Как напечатать в консоли два столбца?
- Конвертирование PNG в JPG на Delphi
- Можно ли, название сайта которое находится в шапке заключать в HTML тег h1 или h2 h3 h4 h5 h6?
- как бороться со знаками вопросов при проблеме с кодировкой в INDY 10 Delphi ?
- Связать ProgressBar + скорлинг в Texbox
- RichEdit и выгрузка в RTF-файл (добавление в конец файла)
- Чтение разделов из IniFile / MemIniFile

Оплата за обучение в Kata Academy только после твоего трудоустройства в IT
Начни карьеру Middle Java-разработчика, подробнее на сайте академии, ссылка - https://clck.ru/fCrQw

Интенсив по Python - 3-5 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
22nd
Май
Сеть на ассемблере: проблема
Posted by maloy under assembler
Питерский2
Здравствуйте))
Пишу программку которая при включении компа отсылает на заданный электронный ящик письмо с временем и датой включения. Все уже готово, кроме, собственно, отправки эмейла. Для этого решил воспользоваться стандартными средствами ВинАпи, вручную реализовав smtp протокол. Но проблемы начались уже при подключении…
Отладчик показал, что ошибку выдает функция «connect».
Помогите разобраться, пожалуйста.
Заранее спасибо.
Код:
Invoke MessageBoxA,0,Offset M_Bgn,Offset M_Bgn,0 ;Сообщение о начале исполнения программы
Invoke GetModuleHandle,0
Mov [hInst], EAX
;=================================================
Invoke WSAStartup, 202h, Offset Skdt ;Активируем WSock32.dll
Test EAX,EAX
Jz @Ok_1
Jmp @Err
@Ok_1:
;=================================================
invoke socket, AF_INET, SOCK_STREAM,IPPROTO_TCP ;Создаем сокет
Cmp EAX,INVALID_SOCKET
Jne @Ok_2
Jmp @Err
@Ok_2:
Mov [hSoc],EAX
;=================================================
Invoke gethostbyname, Offset Mailru ;Получаем адрес mail.ru
Cmp EAX,NULL
Jne @Ok_3
Jmp @Err
@Ok_3:
;Заполняем структуру sockaddr_in
Mov Sadr.sin_addr,EAX
Mov Sadr.sin_family, AF_INET
Invoke htons,25
Mov Sadr.sin_port,AX ;????????????????
Invoke connect, [hSoc], Offset Sadr, SizeOf Sadr ;Пытаемся установить подключение... и тут ОШИБКА!
Test EAX,EAX
Jz @Ok_4
Jmp @Err
@Ok_4:
Invoke closesocket, [hSoc] ;Закрываем сокет
;=================================================
vadimych
Питерский2, gethostbyname возвращает не адрес, а указатель на структуру hostent, из которой уже нужно извлечь адрес.
invoke gethostbyname,offset name
test eax,eax
je error
mov eax,(hostent ptr [eax]).h_list
mov eax,[eax]
mov eax,[eax] ; в eax - искомое
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту

пеллетные котлы

Пеллетный котел Emtas

Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)