Einzelnen Beitrag anzeigen

Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#2

Re: Indy10 Kommunikation über UDP mit 8 Bit Codierung

  Alt 12. Jun 2009, 11:11
Hi,

Zitat von AJ_Oldendorf:
1. TIdUDPClient

Funktionsaufruf:

procedure Send(const AData: string); overload;
Indy Version updaten, wir haben die Encoding Wrapper bereits erweitert (ca. März 2009). Der Aufruf lautet nun:
Delphi-Quellcode:
TIdUDPClient.Send(const AData: string; AEncoding: TIdTextEncoding = nil); overload;

und

TIdUDPBase.Send(const AHost: string; const APort: TIdPort; const AData: string;
  AEncoding: TIdTextEncoding = nil);
Alternativ: Eigene Klasse ableiten und Send() mit reintroduce/overload selbst korrigieren. Gleiches für UDPBase.

Zitat von AJ_Oldendorf:
Warum wird hier überall mit der 7 Bit Codierung gearbeitet?
Weil die meisten Internet Standards für die Protokolle (RFCs) dies fordern. Es gibt einige Erweiterungen, z.B. MIME Extensions, 8BITMIME bei SMTP etc.pp. - aber die Protokolle sind eben häufig 7bit textbasiert. Erst Erweiterungen und Neufassungen erlauben manchen Protokollen andere Encodings. Wo möglich und geboten, entscheiden die Komponenten selbst über das sinnvollste und konforme Encoding.

In Deinem Fall fehlte aber tatsächlich die Durchreichung des Encodings. Mit der aktuellen Version ist dies auch wieder implementiert.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat