FPC TCP Socket Library (fcl-net)

Rund um die LCL und andere Komponenten
Nimral
Beiträge: 390
Registriert: Mi 10. Jun 2015, 11:33

FPC TCP Socket Library (fcl-net)

Beitrag von Nimral »

... wird hier erwähnt:

https://wiki.lazarus.freepascal.org/fcl-net

Mit dabei ist auch ein Link zu einem Beispiel:

http://pascalgeek.blogspot.com/2012/06/ ... onous.html

Leider komme ich da nicht weiter. Es gibt auf meinem Rechner und im Online Package Manager kein installierbares Package fcl-net. Es gibt zwar ein Verzeichnis unter fpc\units\fcl-net\i386-win32, aber darin befinden sich augenscheinlich die im Beispiel verwendeten Units nicht (mehr)?

Wo muss ich den Faden aufnehmen?

Thnx, Armin.

(Lazarus 2.2.0RC1 32-Bit, FPC 3.3.2, Windows 10 64-Bit)
Zuletzt geändert von Nimral am Mi 22. Sep 2021, 20:23, insgesamt 1-mal geändert.

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

Re: FPC TCP Socket Library (fcl-net)

Beitrag von Warf »

Das ist ein FPC package kein Lazarus package. Das ist einfach standardmäßig installiert wenn du eine aktuelle FPC version hast

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: FPC TCP Socket Library (fcl-net)

Beitrag von Winni »

Hi!

Nicht verzweifelt im Dateibaum suchen, sonder lass die Lazarus-IDE die Arbeit machen.

Wie im Beispiel beschrieben:

Code: Alles auswählen

Uses ..... Sockets,fpAsync,fpSock;       
Wird ,alles automatisch gefunden.
Wenn Du Dir eine der units ansehen möchtest:
Cursor drauf plaziere und Alt-CursorUp

Zack hast Du die unit im Editor.
Mach Dir nicht die Anfänge unnötig schwer!

Winni

Nimral
Beiträge: 390
Registriert: Mi 10. Jun 2015, 11:33

Re: FPC TCP Socket Library (fcl-net)

Beitrag von Nimral »

Hi WInni,

nun, das war auch mein erster Versuch :-) Auf den Dateibaum kam ich erst später, aus Verzweiflung.

Code: Alles auswählen

unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls,
  Sockets,fpAsync,fpSock;

type
  TForm1 = class(TForm)
  private

  public

  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

end.

unit1.pas(9,11) Fatal: Can't find unit fpAsync used by Unit1

--> irgendwas fehlt.

(Nur um sicher zu gehen, ich hab das Testprojekt auch auf 2.0.12 probiert --> selbes Problem)

Armin.
Zuletzt geändert von Nimral am Sa 25. Sep 2021, 17:46, insgesamt 1-mal geändert.

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: FPC TCP Socket Library (fcl-net)

Beitrag von Winni »

Hi!

Ach, Du bist mit nem Gurken-OS unterwegs ......

fpAsync ist nur für Unix und Artverwandtes!!

Winni

Nimral
Beiträge: 390
Registriert: Mi 10. Jun 2015, 11:33

Re: FPC TCP Socket Library (fcl-net)

Beitrag von Nimral »

Gibt es was plattformübergreifendes?

Armin.

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

Re: FPC TCP Socket Library (fcl-net)

Beitrag von sstvmaster »

Hier gibt es Info's zum Networking unter Lazarus: https://wiki.lazarus.freepascal.org/Networking
und hier weiterführend, Networking Libraries: https://wiki.lazarus.freepascal.org/Net ... _libraries
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)

Nimral
Beiträge: 390
Registriert: Mi 10. Jun 2015, 11:33

Re: FPC TCP Socket Library (fcl-net)

Beitrag von Nimral »

Das Meiste da ist Web-Kram. Oder Synapse.

Ich bin gerade auf die Seite da gestoßen:

https://lnet.wordpress.com/

Mal sehen, wo das hinführt.

Armin.

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

Re: FPC TCP Socket Library (fcl-net)

Beitrag von sstvmaster »

Aber bitte installiere lNet über den OPM und nicht über die Download Links auf der Seite. Aktuell ist 0.6.6.0.
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)

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

Re: FPC TCP Socket Library (fcl-net)

Beitrag von Warf »

Nimral hat geschrieben:
Mi 22. Sep 2021, 21:14
Gibt es was plattformübergreifendes?
Benutz einfach kein fpAsync, die TCP klassen aus der ssockets unit in threads für parallele zugriffe sollten komplett ausreichend sein und sind cross platform verfügbar. Asynchrone sockets sind zwar recht cool, aber sind leider nicht sehr einfach cross platform zu implementieren (ich bin akutell selbst dabei ein asynchrones Networking framework zu schreiben, das ist kein großer Spaß mit verschiedenen platformen)
Und solang du nicht vorhaben solltest einen High performance server zu schreiben der mehrere millionen requests die stunde abarbeiten muss sollte der overhead von threads auch kein Problem sein.

Ansonsten, wenn du unbedingt asynchrone sockets haben willst, kannst du dir mal STAX anschauen: Link, daran arbeite ich aktuell, und das enthält Netzwerkfuntkionalität für TCP/IP. In den beispielen ist z.b. ein 2 Spieler Pong spiel welches über TCP sich verbindet um das Spiel zu hosten.
Allerdings sei gewarnt, ich bin aktuell dabei die komplette Networking funktionalität auszulagern, um genau zu sein ein rework des fcl-net packages für STAX (in einem eigenen repository) was auch einiges an rewrite der tcp funktionalität mit sich zieht, weshalb fixes die ich eventuell zwar schon gemacht habe noch nicht in dem STAX repo zu finden sind.

NoCee
Beiträge: 170
Registriert: Do 3. Mär 2011, 21:34
OS, Lazarus, FPC: WinXp/7/10 Opensuse13.2/Leap15.3 (L 2.2.0 FPC 3.2.2 )
CPU-Target: Intel 32/64Bit, ARM9
Wohnort: Ulm

Re: FPC TCP Socket Library (fcl-net)

Beitrag von NoCee »

ich kann da LNET auch empfehlen.
Hab ich mit/ohne Gui, Win/Linux schon zigfach zu Maschinensteuerungen
am Laufen. Funktioniert prima. Verwendung ziemlich easy.
Was ich brauche ist alles dabei. Ist aber keine eierlegende Wollmilchsau.
Ist aber auch nicht das Konzept dahinter, heißt ja auch "Lightweight Networking Library"

Gruß
NoCee

Nimral
Beiträge: 390
Registriert: Mi 10. Jun 2015, 11:33

Re: FPC TCP Socket Library (fcl-net)

Beitrag von Nimral »

Warf hat geschrieben:
Do 23. Sep 2021, 03:16
Nimral hat geschrieben:
Mi 22. Sep 2021, 21:14
Gibt es was plattformübergreifendes?
Benutz einfach kein fpAsync, die TCP klassen aus der ssockets unit in threads für parallele zugriffe sollten komplett ausreichend sein ...
Soweit ich gesehen habe, benützt ssockets unter Windows zwar Winsock Version 2, unterstützt aber die Erweiterungen für IPV6 nicht --> leider k.o.

https://docs.microsoft.com/en-us/window ... -1-1-api-2

--> das hinzuzufügen traue ich mir nicht zu, ich versuche mein Glück wohl besser mit lNet

Armin.

Nimral
Beiträge: 390
Registriert: Mi 10. Jun 2015, 11:33

Re: FPC TCP Socket Library (fcl-net)

Beitrag von Nimral »

NoCee hat geschrieben:
Do 23. Sep 2021, 12:44
ich kann da LNET auch empfehlen.
Hab ich mit/ohne Gui, Win/Linux schon zigfach zu Maschinensteuerungen
am Laufen
Hi NoCee,

welche Version von lazarus/FPC hast Du am Start? Ich wollte mit den Examples erste Gehversuche machen.

Die Console Examples laufen mit und ohne Debug. Das wichtigste GUI Example (tcpudp) schmiert sofort ab, ohne Debug mäkelt es wegen irgendeinem SSL Problem dem ich noch nicht nachgegangen bin (Lazarus 2.3.0 - Trunk) oder beendet sich diskussionslos (Lazarus 2.0.12), mit Debug crasht GDB sofort:

2.3.0 (Trunk) und 2.0.12:
The GDB command:
"-data-evaluate-expression ^^shortstring(^POINTER($eax)^+12)^^"
did not return any result.
Problem wird für 2.0 gelistet unter #35405, soll angeblich in 2.2 gefixt sein, ist es wohl aber nicht.

Das grafische FTP Sample läuft dagegen, zumindest kommt es bis zum Hauptforumlar.

Armin.
Zuletzt geändert von Nimral am Sa 25. Sep 2021, 17:48, insgesamt 1-mal geändert.

Benutzeravatar
six1
Beiträge: 788
Registriert: Do 1. Jul 2010, 19:01

Re: FPC TCP Socket Library (fcl-net)

Beitrag von six1 »

SSL Problem: Die Datei ssleay32.dll sollte für das Programm auffindbar sein... (für 32 Bit System. Bei 64 Bit entsprechende Datei verwenden)
Gruß, Michael

Nimral
Beiträge: 390
Registriert: Mi 10. Jun 2015, 11:33

Re: FPC TCP Socket Library (fcl-net)

Beitrag von Nimral »

Bede Dateien (ssleay32.dll und libeay32.dll) gehören seit gefühlt einem halben Jahrhundert zum Standardlieferumfang von Windows. Kam wenn ich mich recht erinnere mit Windows 7 dazu. x Programme nützen SSL auf meiner Maschine ohne Probleme. Meine Arbeitstheorie ist im Moment: da stimmt was mit der Suchroutine nicht ...

Antworten