Objet objet intégré

Prise d'objet

Objet socket réseau

Le socket appartient au module net , comment créer

1
var s = new net.Socket();

Héritage

Constructeur

Socket

Constructeur Socket, créez un nouvel objet Socket

1 2
new Socket(Integer family = net.AF_INET, Integer type = net.SOCK_STREAM);

Paramètres d'appel:

  • family : entier, ensemble d'adresses spécifié, la valeur par défaut est AF_INET, ipv4
  • type : entier, spécifie la famille de protocoles, la valeur par défaut est SOCK_STREAM, tcp

Attribut de membre

family

Entier, interrogez le jeu d'adresses de l'objet Socket actuel

1
readonly Integer Socket.family;

type

Entier, interroge la famille de protocoles de l'objet Socket actuel

1
readonly Integer Socket.type;

remoteAddress

Chaîne, interrogez l'adresse du partenaire actuellement connecté

1
readonly String Socket.remoteAddress;

remotePort

Entier, interroger le port homologue actuellement connecté

1
readonly Integer Socket.remotePort;

localAddress

Chaîne, interrogez l'adresse locale de la connexion actuelle

1
readonly String Socket.localAddress;

localPort

Entier, interrogez le port local actuellement connecté

1
readonly Integer Socket.localPort;

timeout

Entier, requête et set timeout unit en millisecondes

1
Integer Socket.timeout;

Fonction membre

connect

Établir une connexion TCP

1 2
Socket.connect(String host, Integer port) async;

Paramètres d'appel:

  • host : String, spécifiez l'adresse ou le nom d'hôte de l'autre partie
  • port : entier, spécifiez le port de l'autre partie

bind

Liez le socket actuel au port désigné de toutes les adresses locales

1 2
Socket.bind(Integer port, Boolean allowIPv4 = true);

Paramètres d'appel:

  • port : entier, spécifiez le port lié
  • allowIPv4 : Boolean, spécifie s'il faut accepter la connexion ipv4, la valeur par défaut est true. Ce paramètre est valide dans ipv6 et dépend du système d'exploitation

Liez le socket actuel au port spécifié à l'adresse spécifiée

1 2 3
Socket.bind(String addr, Integer port, Boolean allowIPv4 = true);

Paramètres d'appel:

  • addr : String, spécifiez l'adresse liée
  • port : entier, spécifiez le port lié
  • allowIPv4 : Boolean, spécifie s'il faut accepter la connexion ipv4, la valeur par défaut est true. Ce paramètre est valide dans ipv6 et dépend du système d'exploitation

listen

Commencez à écouter les demandes de connexion

1
Socket.listen(Integer backlog = 120);

Paramètres d'appel:

  • backlog : Entier, Spécifiez la longueur de la file d'attente des demandes

accept

Attendez et acceptez une connexion

1
Socket Socket.accept() async;

Résultat de retour:

  • Socket , retourne l'objet de connexion reçu

recv

Lire les données de la taille spécifiée à partir de la connexion. Contrairement à la méthode de lecture, recv ne garantit pas que les données demandées sont lues, mais revient immédiatement après la lecture des données

1
Buffer Socket.recv(Integer bytes = -1) async;

Paramètres d'appel:

  • bytes : entier, spécifiez la quantité de données à lire, la valeur par défaut est de lire des données de n'importe quelle taille

Résultat de retour:

  • Buffer , retourne les données lues depuis la connexion

recvfrom

Lire un paquet UDP

1
NObject Socket.recvfrom(Integer bytes = -1) async;

Paramètres d'appel:

  • bytes : entier, spécifiez la quantité de données à lire, la valeur par défaut est de lire des données de n'importe quelle taille

Résultat de retour:

  • NObject , retourne le paquet lu depuis la connexion

Le résultat renvoyé par recvfrom contient les éléments suivants:

  • data : bloc de données binaires reçu
  • address : address expéditeur
  • port : port expéditeur

send

Ecrivez les données données dans la connexion, cette méthode est équivalente à la méthode d'écriture

1
Socket.send(Buffer data) async;

Paramètres d'appel:

  • data : Buffer , compte tenu des données à écrire

sendto

Envoyer un paquet UDP à l'ip donné: port

1 2 3
Socket.sendto(Buffer data, String host, Integer port) async;

Paramètres d'appel:

  • data : Buffer , compte tenu des données à écrire
  • host : String, spécifiez l'IP cible ou le nom d'hôte
  • port : entier, spécifiez le port cible

read

Lire des données de taille spécifiée dans le flux

1
Buffer Socket.read(Integer bytes = -1) async;

Paramètres d'appel:

  • bytes : entier, spécifiez la quantité de données à lire, la valeur par défaut est de lire des blocs de données de taille aléatoire, la taille des données lues dépend de l'appareil

Résultat de retour:

  • Buffer , retourne les données lues dans le flux, ou null si aucune donnée n'est lisible, ou la connexion est interrompue

write

Écrivez les données fournies dans le flux

1
Socket.write(Buffer data) async;

Paramètres d'appel:

  • data : Buffer , compte tenu des données à écrire

flush

Écrire le contenu du tampon de fichiers sur le périphérique physique

1
Socket.flush() async;

close

Fermez l'objet de flux actuel

1
Socket.close() async;

copyTo

Copiez les données du flux dans le flux cible

1 2
Long Socket.copyTo(Stream stm, Long bytes = -1) async;

Paramètres d'appel:

  • stm : Stream , objet de flux cible
  • bytes : Long, le nombre d'octets copiés

Résultat de retour:

  • Long , renvoie le nombre d'octets copiés

toString

Renvoie la représentation sous forme de chaîne de l'objet, renvoie généralement "[Native Object]", l'objet peut être réimplémenté selon ses propres caractéristiques

1
String Socket.toString();

Résultat de retour:

  • String , renvoie une représentation sous forme de chaîne de l'objet

toJSON

Renvoie la représentation JSON de l'objet, renvoie généralement une collection d'attributs lisibles définis par l'objet

1
Value Socket.toJSON(String key = "");

Paramètres d'appel:

  • key : chaîne, inutilisée

Résultat de retour:

  • Value , retourne une valeur contenant JSON sérialisable