Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Empfang von wissenschaftl. Daten mit Clientsockets (https://www.delphipraxis.net/116484-empfang-von-wissenschaftl-daten-mit-clientsockets.html)

Manado 30. Jun 2008 13:20


Empfang von wissenschaftl. Daten mit Clientsockets
 
Hallo!

Beim Arbeiten mit den Server/Clientsockets bin ich auf ein mysteriöses Problem gestossen.
Aus einer speziellen Software zur Analyse von wissenschaftlichen Lasern (Lasercam), möchte ich mit Delphi Daten empfangen.
Die Software bietet dazu eine Remote-Kommunikation an, die über TCP/IP und PORT 1024 funktioniert.
Ich ging jetzt halt davon aus, dass man diese Software dann als Server bezeichnet, und mein Delphi-Proggi als Client (mit nem ClientSocket).

ICH KANN JETZT Kommandos senden, geht problemlos. Clientsocket.Socket.sendText('...') klappt, das Programm reagiert darauf.
DOCH sende ich einen Query, um z.B. den Strahldurchmesser zurückzubekommen, bekomme ich zwar den Aufruf der ClientRead - Prozedur, aber kein Receivetext:

Delphi-Quellcode:
procedure TForm1.ClientSocketRead(Sender: TObject; Socket: TCustomWinSocket);
begin
Showmessage(Socket.receiveText);
end;
ALLERDINGS wenn ich im Hyperterminal Port1024 einstelle, TCP/IP, und einen Query sende, bekomme ich eine wunderbare Antwort direkt zurück.
UND wenn ich mit Delphi schnell nen ServerSocket programmiere, und damit 'test-Text' sende, empfange ich den genüsslich mit dem Client.

WAS läuft schief in der Kommunikation BeamView - ClientSocket? :?:

Gruss :balloon:

Yellow579 30. Jun 2008 13:51

Re: Empfang von wissenschaftl. Daten mit Clientsockets
 
Hallo Manado!

Kannst du dir sicher sein, dass die Antwort nicht vielleicht binär ausfällt und der String dadurch über ein Nullbyte (#0) "stolpert" und somit den String zu früh beendet?

Gruss
Yellow

Manado 30. Jun 2008 14:31

Re: Empfang von wissenschaftl. Daten mit Clientsockets
 
Ah, wie kann ich das feststellen? Wird so ein binärstring denn im Hyperterminal angezeigt? Dort sehe ich die Antwort nämlich ganz normal.

Wie kann ich denn diesen String binär sichtbar machen/speichern/anzeigen ?

Ich habe bis jetzt Showmessage und Memofeld ausprobiert.

Gruss,
Moritz


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:14 Uhr.

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