Jump to content

[Delphi] Hilfe bei Konfiguration von Socket


Recommended Posts

Es hat sich herausgestellt, dass wir die Sockets unbedingt mit "TCP_NODELAY" konfigurieren müssen, da es sonst durch das verwendete Betriebssystem zu langen Latenzzeiten kommen kann (siehe hier: http://www.tinkerunity.org/forum/index.php/topic,1306.msg8384.html).

 

Wir konnten allerdings trotz längerer Suche nicht herausfinden wie man diese Einstellung in Delphi vornimmt.

 

Für die anderen Sprachen gibt es hier einen Diff:

https://github.com/Tinkerforge/generators/commit/2ddcb2b9cd6098e12900512397d9c60195c31f31

 

Und für FreePascal hier:

https://github.com/Tinkerforge/generators/commit/db828091a7996ee69b775bdabd0ed00d7f48c251

 

Falls sich jemand von euch da auskennt, wären wir über sachdienliche Hinweise dankbar! Ein Link zur passenden Dokumentation o.ä. würde vermutlich schon reichen :).

 

Link zu diesem Kommentar
Share on other sites

In Delphi bin ich einiges gewohnt, aber die Socket-Untiefen eher weniger, aber ev. hilft das

http://forum.delphi-treff.de/archive/index.php/t-18615.html

Beispiel für das Setzen der Property TCP_NODELAY mittels setsockopt auf einem Socket in Delphi:

http://www.delphipraxis.net/161942-wie-tclientsocket-einer-dll-verwenden.html

Link zu diesem Kommentar
Share on other sites

Das Problem war das in den Delphi Bindings TTcpClient verwendet wurde und da konnte ich nicht herausfinden wie ich da TCP_NODELAY setze. TTcpClient hat werder eine direkte Option für TCP_NODELAY noch eine SetSockOpt Funktion.

 

TIdSocketHandle aus dem Indy Package hat SetSockOpt aber da wollte ich mich nicht auf die Verfügbarkeit von Indy verlassen müssen.

 

Ich bin gerade dabei das einfach mit WinSock neu zuschreiben, da hab ich dann setsockopt und alles ist gut.

 

Dennoch Danke für die Hinweise. Es gibt dann gleich eine neue Version der Delphi Bindings.

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...