Warning: Undefined array key 259 in /mnt/web218/a3/28/510129628/htdocs/xmlhelp.php on line 522 GLBasic Benutzerhandbuch

GLBasic Benutzerhandbuch

Main sections

SOCK_RECV()

rv% = SOCK_RECV(sock%, msg$$, length%)


Mit dieser Funktion kann man Daten über einen TCP Stream empfangen, den man mit SOCK_TCPACCEPT() oder SOCK_TCPCONNECT() erhalten hat.
Diese Funktion empfängt auch UDP Nachrichten, die an einen Port gesandt werden an den ein SOCK_UDPOPEN() gebunden wurde.

msg$ enthält nach dem Datenempfang die übertragene Nachricht oder ist im Fehlerfall leer.
length% gibt an, wieviele Zeichen maximal empfangen werden sollen.
Die Nachricht erhält die Länge bis zum ersten '\0' Zeichen. Wenn per INLINE Binärdaten gesendet werden, ist die Auswertung des Rückgabewertes informativ.

Da GLBasic standartmäßig nicht-blockierende Sockets verwendet, kann ein Fehler auftreten, wenn der Socket noch nicht bereit ist Daten zu empfangen.

Der Rückgabewert kann folgendes bedeuten:
-2 : Ein nicht-blockierender Socket ist noch nicht bereit gelesen zu werden und würde somit blockieren. (Es sind noch keine Daten gesendet worden). Bitte diesen Socket in einiger Zeit nochmal lesen.
-1 : Es ist ein Fehler aufgetreten.
0 : Die Gegenstelle wurde getrennt (nur für TCP). Dieser Socket ist damit unnütz und muss mit SOCK_CLOSE() geschlossen werden.
>0 : Die Anzahl der emfangenen Zeichen (Bytes).

See also...