Zapytanie do serwera DNS

0

Witam.

Od razu zaznaczam, iż nie pomyliłem działów. Wiem, że w C# jest wbudowana funkcja, ale niestety ma ona słabą wydajność, a na wydajności zależy mi najbardziej. Pytanie kieruję na forum programistów c/c++ ze względu na to, że tu najwięcej ludzi może mi udzielić odpowiedzi na to pytanie, bo być może wielu z was z takim problemem się spotkało. Do rzeczy:

Piszę aplikację w C#, która wysyła kwerendę do DNS w celu zwrócenia adresu ip domeny globalnej (.com, .org, .net). Problem polega na tym, że nie wiem w jaki sposób przydzielany jest "transaction id" - są to pierwsze 2 bajty zapytania. Zauważyłem, że dla różnych kwerend jest on różny, w przeciwieństwie do adresów .pl. Stąd moje pytanie - na jakiej zasadzie jest on generowany, skąd można go wziąć.

Proszę o wyjaśnienie, jeżeli dysponujecie przykładami implementacji również prosiłbym o podanie. Z góry bardzo dziękuję.

0

piszesz pod winda..? co rozumiesz przez wydajnosc..? gethostbyname\addr/WSAAsyncGetHostByName\Addr nie wystarczaja? asyncem mozesz puscic N zapytan rownolegle i oszczedzic sporo czasu

0

Wydajność to czas między wysyłania pojedynczego zapytania do serwera i sparsowaniem odpowiedzi. Generowanie wyjątku w wypadku nie odnalezienia danej domeny trwa o wiele za długo - zawsze koło 1 sek. W sumie interesują mnie tylko te 2 pierwsze bajty zapytania, bo całą resztę mam już gotową i działającą dla domen krajowych.

0

no tak.. C# wyjatek rzuca.. to chyba zostaje tylko recznie sie polaczyc z serwerem, wyslac zapytanie i czytac odpowiedz.. hm.. takie pytanie mi sie nasunelo.. a transaction ID to przypadkiem nie Ty nadajesz wysylajac żądanie a serwer je tylko kopiuje i Ci zwraca zebys wiedzial ktore to bylo?

1 użytkowników online, w tym zalogowanych: 0, gości: 1