Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#5

Re: HTTPServer mit IPv6 langsam

  Alt 23. Feb 2010, 16:24
Zitat von paresy:
Ich hab das Problem seit ein paar Wochen (und es ist durch irgendeine Revision seitens Indy gekommen - vermutlich verschlimmbessernder IPv6 support) - Im Herbst letzten Jahres lief derselbe Code nämlich 1A.
Wundert mich, denn am IPv6 Support wurde meines Wissens seeeeeehr lange nichts in Indy geändert. Die SVN Kommentare, die zuletzt IPv6 bzw IPv4 enthielten, sind von 2007.

Aber: Du hast recht! Indy bindet per Default an IPv4, konnte IPv6 nicht binden. Es gab einen Fehler in der SupportsIPv6 Funktion.

Test mal bitte folgendes:

In IdStackWindows.pas:

Delphi-Quellcode:
function TIdStackWindows.SupportsIPv6: Boolean;
var
  LLen : LongWord;
  LPInfo, LPCurPtr: LPWSAPROTOCOL_INFO;
  LCount : Integer;
  i : Integer;
begin
  Result := False;
  LLen := 0;
  // Note: WSAEnumProtocols returns -1 when called just to get the needed Buffer Size!
  if (IdWinsock2.WSAEnumProtocols(nil, nil, LLen) = SOCKET_ERROR) and (LLen > 0) then // Änderung
  begin
  ...
@franktron: Du hast auch Recht, gerade die Host-Datei sollte wirklich nur eine sehr seltene Ausnahme darstellen.

Gruß,
Assertor

Edit: Getestet, läuft und ist nun im Indy SVN
Frederik
  Mit Zitat antworten Zitat