System.Win.ScktComp.TCustomWinSocket.SendBuf

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

function SendBuf(var Buf; Count: Integer): Integer;

C++

int __fastcall SendBuf(void *Buf, int Count);

Eigenschaften

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

Beschreibung

Schreibt Count Bytes aus dem Parameter Buf in die Socket-Verbindung.

Verwenden Sie SendBuf, um in eine Socket-Verbindung zu schreiben. Rufen Sie diese Methode aus der Ereignisbehandlungsroutine OnSocketEvent eines Windows-Socket-Objekts oder aus der Ereignisbehandlungsroutine für OnWrite bzw. OnClientWrite einer Socket-Komponente auf. Wenn eine Verbindung gerade hergestellt wurde und der Socket keine Botschaft erwartet, dass der Socket am anderen Ende der Verbindung auf das Lesen wartet, verwenden Sie SendBuf zum Schreiben.

Bei nicht-blockierenden Sockets werden die Daten an die WinSock DLL gesendet, die über eigene interne Puffer verfügt. Wenn WinSock weitere Daten akzeptieren kann, gibt SendBuf sofort die Anzahl der Byte in der Warteschlange zurück. Wenn der interne Puffer von WinSock den gesendeten Puffer nicht mehr aufnehmen kann, gibt SendBuf -1 zurück, und es werden keine Daten in die Warteschlange übernommen. In diesem Fall müssen Sie etwas warten, bis WinSock die sich bereits in der Warteschlange befindlichen Daten gesendet hat und es dann erneut versuchen.

Bei nicht-blockierenden Sockets gibt SendBuf die Anzahl der tatsächlich geschriebenen Bytes zurück.

Falls während des Schreibens in die Verbindung ein Fehler auftritt, beendet SendBuf die Verbindung und löst eine ESocketError-Exception aus.

Siehe auch