TCP/IP Verbindung herstellen

Alle Fragen zur Netzwerkkommunikation
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

TCP/IP Verbindung herstellen

Beitrag von DL3AD »

Hallo,

ich möchte eine Verbindung auf einer IP-Adresse (lokal im Homenetzwerk) zu einem Port z.B. 10001 herstellen und dort dann Strings senden und empfangen.
Die Gegenseite, ein XPORT, funktioniert schon mit der dahinterliegenden Hardware.

Wie baue ich eine Verbindung auf - gibt es irgendwo ein Codeschnipsel der dies veranschaulicht - Synapse ?

Gruß Frank

Antrepolit
Beiträge: 340
Registriert: Di 12. Sep 2006, 08:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Kontaktdaten:

Re: TCP/IP Verbindung herstellen

Beitrag von Antrepolit »

Hallo DL3AD,

leider ist das IP-Protokoll ein verbindungsloses Protokoll, das wird also nicht funktionieren. Und was auch immer dein XPort-Adapter damit zu tun hat, versteh ich auch nicht so ganz. Die Hardware ist völlig egal, sofern sie standardisiert und korrekt installiert wurde. Es führt kein Weg drum herum, dass du mal im "Tanenbaum" liest, und dich etwas mit Netzwerken beschäftigst. Dann weißt du auch, wonach du suchen musst. Unter 64 Bit-Systemen compilieren die Synapse-Units übrigens nicht - je nach Unit.

Stichworte: Webservice, Sockets
Grüße, Antrepolit

care only if your os is really burning

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: TCP/IP Verbindung herstellen

Beitrag von theo »

Antrepolit hat geschrieben: Unter 64 Bit-Systemen compilieren die Synapse-Units übrigens nicht - je nach Unit.


Welche funktionieren nicht?
Ich benutze Synapse auf 64bit Linux, und mir ist noch nichts negatives aufgefallen.

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: TCP/IP Verbindung herstellen

Beitrag von NoCee »

Hallo DL3AD,

die Frage ist ein bischen knäpplich formuliert.
Ich vermute mal du meinst mit XPort einen RS232-Netzwerkserver von Lantronic und willst vom PC aus Daten auf einen serielle Port schicken bzw. lesen.
So was hab ich bei uns einiges laufen. Allerdings mit W&T Servern, technisch funktionieren das aber genau so, schicken aber beim Anlauf keine Bootmeldungen am RS232-Port
welche ich nicht geschafft habe den Lantronic-Servern abzugewöhnen.
Synapse war mir dafür zu oversized, zumindest für mich als Anfänger. Ich arbeite schon länger mit LNet. Für meine Anwendungen genau das richtige.
Ich unterhalte mich da viel mit Maschinen (Steuerungen) die nur einen RS232 Port zur Außenwelt haben.
Das know-how findet man im Tutorial (alles was man dafür braucht und super gemacht)

http://www.martinjakobs.de/pages/lazarus.php

LNet findet man unter

http://lnet.wordpress.com/download/

(übrigens ist TCP/IP laut Wikipedia verbindungsorientiert)


Gruß
NoCee

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2640
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: TCP/IP Verbindung herstellen

Beitrag von m.fuchs »

Wenn es um eine einfache TCP/IP - Verbindung geht, reichen die FCL-NET-Klassen vielleicht aus: http://wiki.freepascal.org/Networking


NoCee hat geschrieben:(übrigens ist TCP/IP laut Wikipedia verbindungsorientiert)

TCP ja, IP nicht. Aber da im Originalpost nix von einer reinen IP-Verbindung steht, weiß ich auch nicht wie Antrepolit darauf kommt.

Dafür würde mich sehr interessieren, was das Problem unter 64-Bit-Systemen mit Synapse sein soll. Das fällt mir sonst demnächst auf die Füße.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

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: TCP/IP Verbindung herstellen

Beitrag von DL3AD »

... danke für eure Antworten.
@NoCee

genau so einen XPORT habe ich.
Danke für die Links - muss ich erstmal durcharbeiten - hoffe dass LNet auch unter Linux läuft.

Gruß Frank

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: TCP/IP Verbindung herstellen

Beitrag von NoCee »

läuft einwandfrei auch unter Linux.
Hab ich in einer non-visual Anwendung mit Linux benutzt. Hier muß man halt die Unit einbinden und den Iventer selber aufrufen .
Bei Windows unter visual Programmierung macht das ja das OS.
Ich hab da soweit ich das noch weiß Beispiele die mit LNet mitgeliefert werden als Grundlage für erste Gehversucht unter Linux verwendet.
Wenn man die anschaut, kommt man schon drauf wie das so grob tickt.

Gruß
NoCee

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: TCP/IP Verbindung herstellen

Beitrag von Socke »

m.fuchs hat geschrieben:
NoCee hat geschrieben:(übrigens ist TCP/IP laut Wikipedia verbindungsorientiert)

TCP ja, IP nicht. Aber da im Originalpost nix von einer reinen IP-Verbindung steht, weiß ich auch nicht wie Antrepolit darauf kommt.

Da steht nichts von TCP; vielleicht kommt auch UDP zum Einsatz (oder ein anderes Protokoll). Auf der anderen Seite kann man auch argumentieren, wer nicht weiß, was er braucht, braucht vermutlich TCP/IP.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2640
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: TCP/IP Verbindung herstellen

Beitrag von m.fuchs »

Socke hat geschrieben:
m.fuchs hat geschrieben:TCP ja, IP nicht. Aber da im Originalpost nix von einer reinen IP-Verbindung steht, weiß ich auch nicht wie Antrepolit darauf kommt.

Da steht nichts von TCP; vielleicht kommt auch UDP zum Einsatz (oder ein anderes Protokoll).

Hm, also der Titel der Diskussion "TCP/IP Verbindung herstellen" lässt mich vermuten, dass es um TCP/IP geht. :mrgreen:
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

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: TCP/IP Verbindung herstellen

Beitrag von DL3AD »

... TCP/IP natürlich - denn bei UDP ist nicht sicher ob das Datenpaket auch angekommen ist.

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: TCP/IP Verbindung herstellen

Beitrag von DL3AD »

Hallo,

sooo, mit LNet funktioniert es hervorragend 8)
Allerdings bekomme ich bei OnDisconnect kein Ereigniss !?

Ich trenne die Verbindung mit - Client. ist die TCP Komponente

Code: Alles auswählen

procedure TForm1.Button_trennenClick(Sender: TObject);
begin
  client.Disconnect(true);
  Memo.Append('Trenne Verbindung . . .');
end;                                               


Und erwarte dann eine Rückmeldung

Code: Alles auswählen

procedure TForm1.ClientDisconnect(aSocket: TLSocket);
begin
  memo.Append('Verbindung zum Server wurde getrennt');
end;                                                     


Aber die Meldung kommt nicht, die Verbindung ist aber definitiv getrennt - Was kann da faul sein ?

Gruß Frank

mark332
Beiträge: 202
Registriert: Do 16. Mai 2013, 13:49
OS, Lazarus, FPC: Windows 10 H.P. (x64) / Ubuntu 14.04.X
CPU-Target: AMD Octacore 4.0GHz

Re: TCP/IP Verbindung herstellen

Beitrag von mark332 »

Ich bin zwar noch nicht wirklich erfahren mit LNet, aber ich bin der Meinung, gelesen zu haben, dass LTCPComponent.Disconnect nur dann ausgelöst wird, wenn man die Verbindung von der anderen Seite trennt und nicht, wenn man sie selbst trennt :/

Aber wie gesagt, ich bin mir nicht 100% sicher :S

MfG

mark332
------------------------------------------------------------
Warum gibt es hier eigentlich kein [SPOILER][/SPOILER] ?

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: TCP/IP Verbindung herstellen

Beitrag von DL3AD »

Hallo mark332,

ja, so ist es wenn ich die Verbindung von der Gegenseite trenne dann kommt das Ereigniss.

Nun kann ich meinen XPORT ohne Portredirektor und auch unter Linux nutzen :D

Gruß Frank

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1498
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: TCP/IP Verbindung herstellen

Beitrag von corpsman »

Ich kann zu dem Thema noch mein Socket (nutzt LNet) Beispiel beisteuern, damit habe ich meinen X-Port angesteuert. Zum Testen ist das echt Praktisch.
--
Just try it

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: TCP/IP Verbindung herstellen

Beitrag von DL3AD »

Hallo corpsman,

Danke - dein Beispiel deckt sich zu 75% mit meinem Test :D es fehlt nur die HEX Geschichte - die benötige ich ja nicht.

Gruß Frank

Antworten