Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
StreamPeer
Hérite de : RefCounted < Object
Hérité par : StreamPeerBuffer, StreamPeerExtension, StreamPeerGZIP, StreamPeerSocket, StreamPeerTLS
Classe de base abstraite pour interagir avec des flux.
Description
StreamPeer est une classe de base abstraite principalement utilisée pour les protocoles orientés flux (comme le TCP). Elle fournit une API pour l'envoi et la réception de données à travers des flux comme des données brutes ou des chaînes de caractères.
Note : Lors de l'export vers Android, assurez-vous d'activer la permission INTERNET dans le préréglage d'export Android avant d'exporter le projet ou d'utiliser un déploiement en un clic. Sinon, la communication réseau de tout type sera bloquée par Android.
Propriétés
|
Méthodes
get_8() |
|
get_16() |
|
get_32() |
|
get_64() |
|
get_available_bytes() const |
|
get_half() |
|
get_partial_data(bytes: int) |
|
get_string(bytes: int = -1) |
|
get_u8() |
|
get_u16() |
|
get_u32() |
|
get_u64() |
|
get_utf8_string(bytes: int = -1) |
|
void |
|
void |
|
void |
|
void |
|
put_data(data: PackedByteArray) |
|
void |
put_double(value: float) |
void |
|
void |
|
put_partial_data(data: PackedByteArray) |
|
void |
put_string(value: String) |
void |
|
void |
|
void |
|
void |
|
void |
put_utf8_string(value: String) |
void |
Descriptions des propriétés
Si true, ce StreamPeer utilisera le format big-endian pour l'encodage et le décodage.
Descriptions des méthodes
Obtient un octet signé depuis le flux.
Obtient une valeur 16 bits signée depuis le flux.
Obtient une valeur 32 bits signée depuis le flux.
Obtient une valeur 64 bits signée depuis le flux.
int get_available_bytes() const 🔗
Renvoie le nombre d'octets que ce StreamPeer a de disponible.
Returns a chunk data with the received bytes, as an Array containing two elements: an Error constant and a PackedByteArray. bytes is the number of bytes to be received. If not enough bytes are available, the function will block until the desired amount is received.
Obtient un flottant à double-précision depuis le flux.
Obtient un flottant à simple précision depuis le flux.
Obtient un flottant en demi-précision depuis le flux.
Array get_partial_data(bytes: int) 🔗
Returns a chunk data with the received bytes, as an Array containing two elements: an Error constant and a PackedByteArray. bytes is the number of bytes to be received. If not enough bytes are available, the function will return how many were actually received.
String get_string(bytes: int = -1) 🔗
Obtient une chaîne ASCII d'une longueur de bytes octets du flux. Si bytes est négatif (par défaut), la longueur sera lue depuis le flux en utilisant le processus inverse de put_string().
Obtient un octet non signé depuis le flux.
Obtient une valeur 16 bits non signée depuis le flux.
Obtient une valeur 32 bits non signée depuis le flux.
Obtient une valeur 64 bits non signée depuis le flux.
String get_utf8_string(bytes: int = -1) 🔗
Obtient une chaîne UTF-8 d'une longueur de bytes octets du flux (ceci décode la chaîne envoyée en UTF-8). Si bytes est négatif (par défaut), la longueur sera lue depuis le flux en utilisant le processus inverse de put_utf8_string().
Variant get_var(allow_objects: bool = false) 🔗
Obtient un Variant du flux. Si allow_objects vaut true, le décodage des objets est autorisé.
En interne, cela utilise le même mécanisme de décodage que la méthode @GlobalScope.bytes_to_var().
Avertissement : Les objets désérialisés peuvent contenir du code qui sera exécuté. N'utilisez pas cette option si l'objet sérialisé provient de sources non sûres pour éviter des risques de sécurité telles que de l'exécution de code à distance.
Ajoute un octet signé dans le flux.
Ajoute une valeur de 16 bits dans le flux.
Ajoute une valeur de 32 bits dans le flux.
Ajoute une valeur de 64 bits dans le flux.
Error put_data(data: PackedByteArray) 🔗
Envoie un morceau de données à travers la connexion, en bloquant si nécessaire jusqu'à ce que les données soient finies d'être envoyées. Cette fonction renvoie un code Error.
void put_double(value: float) 🔗
Ajoute un flottant en double-précision dans le flux.
void put_float(value: float) 🔗
Ajoute un flottant en simple-précision dans le flux.
Ajoute un flottant en demi-précision dans le flux.
Array put_partial_data(data: PackedByteArray) 🔗
Envoie un morceau de données par la connexion. Si toutes les données ne peuvent pas être envoyées à la fois, seule une partie de celles-ci le seront. Cette fonction renvoie deux valeurs : un code Error, et un entier, décrivant combien de données ont effectivement été envoyées.
void put_string(value: String) 🔗
Ajoute une chaîne ASCII se terminant par le caractère nul dans le flux, précédée par un entier 32 bits non signé représentant sa taille.
Note : Pour ajouter une chaîne ASCII sans la faire précéder par sa taille, vous pouvez utiliser put_data() :
put_data("Salut le monde".to_ascii_buffer())
PutData("Salut le monde".ToAsciiBuffer());
Ajouter un octet non signé dans le flux.
Ajoute une valeur de 16 bits non signée dans le flux.
Ajoute une valeur de 32 bits non signée dans le flux.
Ajoute une valeur de 64 bits non signée dans le flux.
void put_utf8_string(value: String) 🔗
Ajoute une chaîne UTF-8 se terminant par le caractère nul dans le flux, précédée par un entier 32 bits non signé représentant sa taille.
Note : Pour ajouter une chaîne UTF-8 sans la faire précéder par sa taille, vous pouvez utiliser put_data() :
put_data("Salut le monde".to_utf8_buffer())
PutData("Salut le monde".ToUtf8Buffer());
void put_var(value: Variant, full_objects: bool = false) 🔗
Ajoute un Variant dans le flux. Si full_objects vaut true, l'encodage d'objets est autorisé (et ceux-ci peuvent potentiellement contenir du code).
En interne, cela utilise le même mécanisme d'encodage que la méthode @GlobalScope.var_to_bytes().