System.Win.ScktComp.TWinSocketStream.Write

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

function Write(const Buffer; Count: Longint): Longint; override;

C++

virtual int __fastcall Write(const void *Buffer, int Count)/* overload */;
inline int __fastcall  Write(const System::DynamicArray<System::Byte> Buffer, int Offset, int Count){ return System::Classes::TStream::Write(Buffer, Offset, Count); }
inline int __fastcall  Write(const System::DynamicArray<System::Byte> Buffer, int Count){ return System::Classes::TStream::Write(Buffer, Count); }

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
function public
System.Win.ScktComp.pas
System.Win.ScktComp.hpp
System.Win.ScktComp TWinSocketStream

Beschreibung

Schreibt so viele Bytes aus einem Puffer in die Socket-Verbindung, wie über Count vorgegeben ist.

Mit Write können Daten aus einem Puffer in die Socket-Verbindung geschrieben werden. Write gibt die Anzahl der übertragenen Bytes zurück.

Write kann den Wert 0 zurückgeben, wenn die Socket-Verbindung extrem langsam arbeitet und die Schreiboperation nicht nach der Anzahl der in TimeOut festgelegten Millisekunden beendet ist. So wird verhindert, dass die Methode in einen undefinierten Zustand gerät, wenn Verbindungsprobleme bestehen.

Um eine Zeitüberschreitung bei einer langsamen Verbindung zu verhindern, empfiehlt es sich, den Wert von Count eher niedrig anzusetzen und die Methode Write dafür mehrmals aufzurufen, anstatt weniger Aufrufe mit großem Count-Wert auszuführen.

Im Gegensatz zur Methode WriteBuffer löst Write keine Exception aus, wenn die mit Count geforderte Anzahl von Bytes nicht geschrieben werden konnte. Write gibt dann einfach 0 zurück.

Siehe auch