Ich will ein einfaches kleines Consolen-Progamm mit der Indy-Bibliothek erstellen.
Ich wähle neues Projekt-> Einfaches Programm (Konsole).
uses idtcpclient;
unit nicht gefunden...?
Indy 10 ist über den Online Packetmanager installiert und Lazarus neu kompiliert...
Indy TCPClient
- Zvoni
- Beiträge: 412
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
- CPU-Target: 32Bit
- Wohnort: BW
Re: Indy TCPClient
... und auch bei benötigte Packages hinzugefügt (Projekt-Inspektor)?
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Re: Indy TCPClient
Soweit mir bekannt ist, ist Indy nicht besonders geeignet für Konsolenanwendungen.
Ich würde eher Synapse empfehlen oder fcl-web. Ich weiss ja nicht, was du vorhast.
https://wiki.freepascal.org/Networking_libraries
http://synapse.ararat.cz/doc/help/
Bei deinem Indy fehlt wahrscheinlich die Package-Abhängigkeit in deinem Projekt.
Projekt -> Projektinspektor -> Hinzufügen -> Neue Anforderung.
Anm: Das geht bei einer GUI Anwendung automatisch, indem man die Komponente auf das Formular legt.
https://wiki.freepascal.org/Lazarus_Packages/de#FAQ
Ich würde eher Synapse empfehlen oder fcl-web. Ich weiss ja nicht, was du vorhast.
https://wiki.freepascal.org/Networking_libraries
http://synapse.ararat.cz/doc/help/
Bei deinem Indy fehlt wahrscheinlich die Package-Abhängigkeit in deinem Projekt.
Projekt -> Projektinspektor -> Hinzufügen -> Neue Anforderung.
Anm: Das geht bei einer GUI Anwendung automatisch, indem man die Komponente auf das Formular legt.
https://wiki.freepascal.org/Lazarus_Packages/de#FAQ
-
- Beiträge: 2151
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Indy TCPClient
Für Raw TCP brauchst du weder Indy noch sonst irgendeine Third-Party Bibliothek, einfach die FCL-Net Klassen verwenden die mitgeliefert werden:
Alternativ kannst du dir auch die fpsockets unit anschauen auch wenn sie aktuell noch nicht im Mainline FPC drin ist: https://gitlab.com/freepascal.org/fpc/s ... sockets.pp (bzw eine nicht fcl version findest du hier). Damit wird das ganze noch einfacher:
Code: Alles auswählen
uses ssockets;
...
var
sock: TInetSocket;
begin
sock := TInetSocket.Create('IP', Port);
try
// Use Sock as TStream to read and write
finally
sock.free;
end;
end;
Code: Alles auswählen
var
Sock: TFPSocket;
Msg: String;
begin
sock := TCPSocket(stIPv4);
try
Connect(Sock, '127.0.0.1', 1337);
SendStr(Sock, 'Hello Server');
Msg := ReceiveStr(Sock, 32);
WriteLn('Server answered: ', Msg);
finally
CloseSocket(Sock);
end;
end;
Re: Indy TCPClient
super, danke...
Re: Indy TCPClient
Richtig. Da ich selber fast immer Synapse verwende, war ich mir plötzlich nicht mehr sicher, FCL-Net zu empfehlen, weil es so stiefmütterlich behandelt wird.Warf hat geschrieben: Mo 7. Jul 2025, 11:33 Für Raw TCP brauchst du weder Indy noch sonst irgendeine Third-Party Bibliothek, einfach die FCL-Net Klassen verwenden die mitgeliefert werden
Hier steht kaum etwas Ermutigendes https://wiki.lazarus.freepascal.org/fcl-net , und auf der https://wiki.freepascal.org/Networking_libraries Seite kommt es gar nicht vor.
Warum?