Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Coding wenn über TClientSocket mit SendText verschickt wird? (https://www.delphipraxis.net/61871-coding-wenn-ueber-tclientsocket-mit-sendtext-verschickt-wird.html)

UweR 27. Jan 2006 14:38


Coding wenn über TClientSocket mit SendText verschickt wird?
 
Hallo Leute,

ich habe eine Software welche über eine TCP-Verbindung mittels TWinSocket mit SendText einen Text verschickt. Das geht wunderbar solange die Gegenstelle mit TServerSocket und ReceiveText die Daten wieder rausholt.

Jetzt habe ich aber eine .NET-Applikation als Gegenstelle die mir die Daten Zeichenweise rausholt und sich den String wieder zusammensetzen muß. Das geht auch wunderbar solange keine Umlaute drin sind.

Kann mir jemand sagen in welchem Coding die von TClientSocket da durchgeschoben werden?

Muetze1 27. Jan 2006 19:17

Re: Coding wenn über TClientSocket mit SendText verschickt w
 
Ansi? Schliesslich sendet er die Daten 1:1, daher schau dir den angegebenen String im Detail an.

UweR 27. Jan 2006 20:07

Re: Coding wenn über TClientSocket mit SendText verschickt w
 
Hallo Muetze1,

nein, es ist kein ANSI. Es ist auch nicht 1:1. Aus einem ü werden plötzlich zwei Zeichen, er muß das irgendwo in einen MultiByte-Zeichensatz konvertieren.

Muetze1 27. Jan 2006 21:05

Re: Coding wenn über TClientSocket mit SendText verschickt w
 
TClientSocket und TServerSocket sind reine Datenvermittler, welche die Daten 100%ig nur 1:1 weiterreichen. Sie können es sich gar nicht erlauben irgendwelche Veränderungen an den Daten zu tätigen. Sicher das nicht deine .NET Seite diese Umwandlung vornimmt?

UweR 28. Jan 2006 17:02

Re: Coding wenn über TClientSocket mit SendText verschickt w
 
Die .NET Seite nimmt noch gar keine Veränderungen vor, sondern liest die Daten nur Byte-weise ein.

Zitat:

TClientSocket und TServerSocket sind reine Datenvermittler, welche die Daten 100%ig nur 1:1 weiterreichen. Sie können es sich gar nicht erlauben irgendwelche Veränderungen an den Daten zu tätigen.
Sicher das das auch für SendText gilt? Wenn ich die Daten byteweise durchschiebe wird das gelten denke ich mal aber bei SendText scheint das nicht zu gelten.

Muetze1 28. Jan 2006 17:45

Re: Coding wenn über TClientSocket mit SendText verschickt w
 
Zitat:

Zitat von UweR
Die .NET Seite nimmt noch gar keine Veränderungen vor, sondern liest die Daten nur Byte-weise ein.

Und dabei könnter er nix konvertieren?

Zitat:

Zitat von UweR
Zitat:

TClientSocket und TServerSocket sind reine Datenvermittler, welche die Daten 100%ig nur 1:1 weiterreichen. Sie können es sich gar nicht erlauben irgendwelche Veränderungen an den Daten zu tätigen.
Sicher das das auch für SendText gilt? Wenn ich die Daten byteweise durchschiebe wird das gelten denke ich mal aber bei SendText scheint das nicht zu gelten.

Einfach rauszufinden: Sende den Text nicht mit SendText sondern mit WriteBuffer().

Delphi-Quellcode:
Socket.SendBuffer(String[1], Length(String));

UweR 28. Jan 2006 18:19

Re: Coding wenn über TClientSocket mit SendText verschickt w
 
Zitat:

Und dabei könnter er nix konvertieren?
Ganz ausschließen kann man das natürlich nie, aber die Wahrscheinlichkeit würde ich erst mal geringer ansetzen als das ich beim Senden mit SendText den Bockmist baue.

Zitat:

Einfach rauszufinden: Sende den Text nicht mit SendText sondern mit WriteBuffer().
Gute Idee, könnte von mir sein. Allerdings darf ich es nur mal ausprobieren und nicht dauerhaft ändern weil ich sonst, wenn's tatsächlich daran liegt, andere die an der gleichen Schnittstelle hängen in die Verzweiflung stürze wenn ich plötzlich was anderes schicke.

Muetze1 28. Jan 2006 20:16

Re: Coding wenn über TClientSocket mit SendText verschickt w
 
Zitat:

Zitat von UweR
Gute Idee, könnte von mir sein. Allerdings darf ich es nur mal ausprobieren und nicht dauerhaft ändern weil ich sonst, wenn's tatsächlich daran liegt, andere die an der gleichen Schnittstelle hängen in die Verzweiflung stürze wenn ich plötzlich was anderes schicke.

Jo, aber dann wissen wir den Grund und ich bin immernoch der festen Überzeugung, dass es nicht an den TServerSocket/TClientSocket Komponenten liegt. Daher bin ich mal gespannt auf das Ergebnis...

UweR 30. Jan 2006 13:48

Re: Coding wenn über TClientSocket mit SendText verschickt w
 
Hallo Muetze1,

habe gerade noch mal rumgespielt.

TWinSocket ist es nicht, .NET ist es auch nicht. Ich schiebe XML-Dateien über TCP die ich mir mit einer Freeware-Komponente zusammenschustere. Die nimmt eine umcodierung vor.

Muetze1 30. Jan 2006 13:56

Re: Coding wenn über TClientSocket mit SendText verschickt w
 
Zitat:

Zitat von UweR
TWinSocket ist es nicht, .NET ist es auch nicht. Ich schiebe XML-Dateien über TCP die ich mir mit einer Freeware-Komponente zusammenschustere. Die nimmt eine umcodierung vor.

Tja, also wieder nur die Hälfte erzählt. Laut der Beschreibung im ersten Post, wird nur ein String hin und her geschickt, der verändert wird. Das es ein ganzes XML Dokument ist, ist ein ganz neuer Fakt.

Aber zumindest wird seitens der Übertragungskomponenten keine Datenveränderung vorgenommen, und das ist die Hauptsache. Dieser Fakt muss und wird als Grundlage immer gewahrt bleiben - ausser die Übertragungskomponenten wissen um ein Protokoll und haben das Wissen Veränderungen vorzunehmen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:50 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