Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

MX-запись из DNS   Найти похожие ветки 

 
Wistler ©   (2005-08-30 14:15) [0]

Доброго времени суток.

Необходимо получить MX-запись. Проблема в том, что не могу получить запрос на свой ответ. Код приведён ниже.

Var
 WSData:WSAData;
 S, RS:Integer;
 SockAddr, ToAddr, Local:sockaddr_in;
 Res:Integer;
 Request:String;
 Buf, RBuf:Array of Byte;
 I:Word;
 L:Integer;
begin
 WSAStartup(514, WSData);
 RS:=socket(AF_INET, SOCK_DGRAM, 0);
 Local.sin_family:=AF_INET;
 Local.sin_port:=htons(53);
 Local.sin_addr.S_addr:=htonl(INADDR_ANY);
 bind(RS, Local, SizeOf(Local));

 S:=socket(AF_INET, SOCK_DGRAM, 0);
 SockAddr.sin_family:=AF_INET;
 SockAddr.sin_port:=htons(53);
 SockAddr.sin_addr.S_addr:=htonl(INADDR_ANY);
 bind(S, SockAddr, SizeOf(SockAddr));
 SetLength(RBuf, 10000);

 ToAddr.sin_family:=AF_INET;
 ToAddr.sin_port:=htons(53);
 ToAddr.sin_addr.S_addr:=inet_addr("192.168.1.1");
 If connect(S, ToAddr, SizeOf(ToAddr))<>SOCKET_ERROR then
   begin
     Randomize;
     Request:=WordToTwoCharStr(Random(65536));
     Request:=Request+WordToTwoCharStr(0);
     Request:=Request+WordToTwoCharStr(1);
     Request:=Request+Chr(0)+Chr(0)+Chr(0)+Chr(0)+Chr(0)+Chr(0);
     Request:=Request+DoDomainName("mail.ru")+Chr(0);
     Request:=Request+WordToTwoCharStr(15);
     Request:=Request+WordToTwoCharStr(1);
     SetLength(Buf, Length(Request));
     For I:=1 to Length(Request) do
       Buf[I-1]:=Byte(Request[I]);
     Res:=send(S, Buf, Length(Buf), 0);
     If Res=SOCKET_ERROR then
       ShowMessage("Send Error");
   end
 else
   ShowMessage("Connect failed");
 closesocket(S);
 Res:=SOCKET_ERROR;
 While Res=SOCKET_ERROR do
   begin
     Res:=recv(RS, RBuf, Length(RBuf), 0);
     If Res<>SOCKET_ERROR then Break;
   end;
 ShowMessage("Recive");
 WSACleanup;


 
Wistler ©   (2005-08-30 14:51) [1]

Описался, конечно, не запрос на ответ, а ответ на запрос



Страницы: 1 вся ветка

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
1-1132131172
Wolferio
2005-11-16 11:52
2005.12.11
Обработка Ошибок


1-1131979438
*Beginner*
2005-11-14 17:43
2005.12.11
Перетаскивание из TShellTreeV iew


4-1128951430
Gluk
2005-10-10 17:37
2005.12.11
Перехват окна сохранения


2-1132488605
alexab
2005-11-20 15:10
2005.12.11
Использование for...to...do


4-1129138447
Конст
2005-10-12 21:34
2005.12.11
FormatMessage и освобожение буфера