Einfacher TCP socket server für single Verbindung

Alle Fragen zur Netzwerkkommunikation
Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Einfacher TCP socket server für single Verbindung

Beitrag von Warf »

fliegermichl hat geschrieben:Aber zeitliche Verzögerungen durch das fork konnte ich nicht feststellen.


Ja, für viele anwendungen ist die Zeit die Fork braucht echt im ramen. Problematisch wirds bei großen Virtuellen Memory Tables. Beispiel schau hier da ist es gut erklärt mit beispiel: Link

Bei dem graphen kann man sehen das die Forks gegen ende c.a. 3,5 sekunden brauchen. Das ist nicht annehmbar für einen system call. Daher rate ich meist von fork ab, außer man benötigt wirklich die eigenschaften eines eigenen prozesses, oder das programm ist recht klein (im sinne von wenig virtueller addressraum).

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: Einfacher TCP socket server für single Verbindung

Beitrag von DL3AD »

Hallo Warf,

Danke für deinen Tipp mit den Internen Komponenten.
In meinem konkreten Fall ist es so, dass der Server nur einen Clienten haben darf.
Deshalb möchte ich Threads vermeiden (und weil ich das noch nie gemacht habe :mrgreen: )
Ich versuche es immer so einfach wie möglich zu machen wenn es nicht auf Timing ankommt.

Gruß Frank

sstvmaster
Beiträge: 575
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: Einfacher TCP socket server für single Verbindung

Beitrag von sstvmaster »

Hi Frank,

sowas wie hier könnte doch auch gehen: https://forum.lazarus.freepascal.org/in ... #msg314591

73
LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

Antworten