![]() |
TIdTCPClient: Keine Verzögerung beim senden der Daten
Hallo!
Ich verwende IdTCPClient zum senden von Daten and den Server. Ich habe bemerkt, dass kleinere Pakete manchmal mit Verzögerung ankommen. Ich denke, das liegt daran, das der Client kleinere Pakete nicht sofort versendet, sondern wartet, bis der Buffer voll ist. Kann ich das irgendwie vermeiden? Danke! |
AW: TIdTCPClient: Keine Verzögerung beim senden der Daten
Hier sind einige Informationen dazu:
![]() * "Write buffering is disabled by default. You can check write buffering to see if it's active in your code by testing the fConnection.IOHandler.WriteBufferingActive property" * welchen Wert hat die Property TIdIOHandlerSocket.UseNagle (entspricht TCP_NODELAY option) ? |
AW: TIdTCPClient: Keine Verzögerung beim senden der Daten
Zitat:
|
AW: TIdTCPClient: Keine Verzögerung beim senden der Daten
Zitat:
|
AW: TIdTCPClient: Keine Verzögerung beim senden der Daten
Zitat:
|
AW: TIdTCPClient: Keine Verzögerung beim senden der Daten
Zitat:
Delphi-Quellcode:
Ist Binding nil? Das würde die AV erklären.
procedure TIdIOHandlerSocket.SetNagleOpt(AEnabled: Boolean);
const Options: array[Boolean] of Integer = (1, 0); begin if Connected then begin Binding.SetSockOpt(Id_IPPROTO_TCP, Id_TCP_NODELAY, PChar(@Options[AEnabled]), SizeOf(Options[AEnabled])); end; end; |
AW: TIdTCPClient: Keine Verzögerung beim senden der Daten
Zitat:
Mit dieser Binding komme ich irgendwie nicht klar. Bis jetzt habe ich einfach den IdTCPClient erstellt und mit dem Server verbunden. Jetzt versuche ich seit Stunden vergeblich, eine Binding zu erstellen, um Socket-Optionen setzten zu können. Wie erstelle ich eine Binding? |
AW: TIdTCPClient: Keine Verzögerung beim senden der Daten
Zitat:
Delphi-Quellcode:
Wegen Firewall-Problemen und einem WLAN Problem konnte ich mich leider nicht früher melden :oops:
procedure TIdSocketHandle.SetNagleOpt(const AEnabled: Boolean);
begin { You only want to set a Nagle option for TCP.} if HandleAllocated and (SocketType = Id_SOCK_STREAM) then begin SetSockOpt(Id_SOCKETOPTIONLEVEL_TCP, Id_TCP_NODELAY, Integer(not AEnabled)); end; end; Vielleicht hilft ein Update auf die neueste Indy 10.5.8 Version, auch wegen der erwähnten Access Violation |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz