Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Probleme mit TIdTCPClient / TIdTCPServer (https://www.delphipraxis.net/169646-probleme-mit-tidtcpclient-tidtcpserver.html)

AJ_Oldendorf 2. Aug 2012 11:08


Probleme mit TIdTCPClient / TIdTCPServer
 
Hallo zusammen,
ich habe folgendes Problem.

Ein Scanner schickt beim Lesen einer Nummer ein String über TCP/IP.
Mit Hyperterminal habe ich eine Verbindung zu dem Gerät aufgenommen (Eingabe der IP des Gerätes und des Ports) und ich sehe die gelesenen Nummern.
Am Gerät selber kann ich nicht sagen, an welche IP er den gelesenen String schicken soll sondern nur ein Port kann man da einstellen.

Jetzt bin ich mir ehrlich gesagt nicht ganz sicher ob ich ein Client oder Server auf meinem PC nehmen muss, um die Daten zu empfangen.
Ich habe es mit dem TIdTCPClient versucht. Leider bekomme ich kein Text angezeigt.
Code sieht so aus:

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if not IdTCPClient1.Connected then
    IdTCPClient1.Connect;

  if IdTCPClient1.Connected then
  begin
    IdTCPClient1.ReadTimeout := 250;
    Memo1.Text := IdTCPClient1.IOHandler.ReadLn();
  end;

  if IdTCPClient1.Connected then
    IdTCPClient1.Disconnect;
end;
Oder welches Event müsste ich denn nehmen um die Daten abzufragen?

Gruß
Alex

alleinherrscher 2. Aug 2012 12:04

AW: Probleme mit TIdTCPClient / TIdTCPServer
 
Ich könnte mir vorstellen, dass ein TCP-Server besser wäre, weil er auf eingehende Verbindungen wartet. Der Client verbindet sich ja aktiv zu einem Server, wenn man Connect aufruft.

Gruß, Michael

AJ_Oldendorf 2. Aug 2012 12:08

AW: Probleme mit TIdTCPClient / TIdTCPServer
 
Da ich im Scanner ja aber keine IP eingeben kann, wo er es hinschicken soll, muss ich ja ein Client auf meiner PC Seite nehmen, damit ich eine IP eingeben kann, mir der ich mich verbinden will. Beim Server kann ich die IP des Scanners ja nicht eingeben oder gibts da ein Trick?

Gruß
Alex

mjustin 2. Aug 2012 12:59

AW: Probleme mit TIdTCPClient / TIdTCPServer
 
Zitat:

Zitat von AJ_Oldendorf (Beitrag 1176664)
Ein Scanner schickt beim Lesen einer Nummer ein String über TCP/IP.
Mit Hyperterminal habe ich eine Verbindung zu dem Gerät aufgenommen (Eingabe der IP des Gerätes und des Ports) und ich sehe die gelesenen Nummern

Hyperterminal unterstützt laut Wikipedia Minitel, Viewdata, VT100, VT52 als Protokoll.
Welches ist denn eingestellt, damit die Verbindung funktioniert?

Möglicherweise ist TIdTelnet dann eine passende Komponente. Sie empfängt auch Daten von der Gegenseite.

AJ_Oldendorf 2. Aug 2012 13:13

AW: Probleme mit TIdTCPClient / TIdTCPServer
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe Windows 7 und da ist kein Hyperterminal mehr dabei. Ich habe mir die XP Variante aus dem Netz gezogen und da kann man eindeutig TCP/IP einstellen. Siehe Screenshot.
Dann IP und Port eintragen und glücklich sein...

Grüße
AJ

mjustin 2. Aug 2012 15:36

AW: Probleme mit TIdTCPClient / TIdTCPServer
 
Zitat:

Zitat von AJ_Oldendorf (Beitrag 1176688)
Ich habe Windows 7 und da ist kein Hyperterminal mehr dabei. Ich habe mir die XP Variante aus dem Netz gezogen und da kann man eindeutig TCP/IP einstellen. Siehe Screenshot.
Dann IP und Port eintragen und glücklich sein...

23 ist Standardport für Telnet.

Also TIdTelnet verwenden, IP und Port eintragen, DataAvailable Event implementieren, die Verbindung aufbauen und ... glücklich sein :)

AJ_Oldendorf 2. Aug 2012 15:44

AW: Probleme mit TIdTCPClient / TIdTCPServer
 
ich nutze aber nicht den Port 23. Ich nutze 50003 als Port. Das mit der 23 ist nur im Beispiel des Screenshots so.
Ich gucke mir mal das andere an, was du geschrieben hast.

Gruß
Alex

AJ_Oldendorf 9. Aug 2012 14:25

AW: Probleme mit TIdTCPClient / TIdTCPServer
 
Ich pushe einfach mal :-)
Hat noch keiner mit dem TIdTCPClient gearbeitet und sich einfach mit einer IP und Port verwunden und von dort etwas empfangen?

Gruß
Alex

mjustin 9. Aug 2012 19:51

AW: Probleme mit TIdTCPClient / TIdTCPServer
 
Zitat:

Zitat von AJ_Oldendorf (Beitrag 1177527)
Ich pushe einfach mal :-)

und ich quote mich selber mal :-)

Zitat:

TIdTelnet verwenden, IP und Port eintragen, DataAvailable Event implementieren, die Verbindung aufbauen
Telnet geht natürlich auf Port 50003, genau wie auf Port 23, wenn der Telnet-Server auf diesem Port lauscht. Anhand des Screenshots ist Telnet das wahrscheinlichste Protokoll des Servers.

Oder ohne eigenen Quelltext zu schreiben einfach mal auf der Kommandozeile telnet starten und verbinden:

>telnet ipadresse 50003

und dann scannen, die Scandaten sollten dann auf der Konsole erscheinen

AJ_Oldendorf 10. Aug 2012 08:27

AW: Probleme mit TIdTCPClient / TIdTCPServer
 
Das mit dem Telnet Befehl geht sogar :-)
Ich werde es dann mal mit der von dir vorgeschlagenen Komponente probieren.
Trotzdem wäre es natürlich schön, wenn es mit dem TIDTCPClient auch gehen würde ;-)

Grüße
Alex


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:36 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz