Objet objet intégré

Prise d'objet

Objet socket réseau

La prise appartient à net Module, méthode de création

1
var s = new net.Socket();

Héritage

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<class>Stream|fd|read();write();flush();close();copyTo()] [<this>Socket|new Socket()|family;remoteAddress;remotePort;localAddress;localPort;timeout|connect();bind();listen();accept();recv();send()] [object] <:- [Stream] [Stream] <:- [Socket] Socket new Socket() family remoteAddress remotePort localAddress localPort timeout connect() bind() listen() accept() recv() send() Stream fd read() write() flush() close() copyTo() object toString() toJSON()

Constructeur

Socket

Constructeur de socket, créez un nouvel objet Socket

1
new Socket(Integer family = net.AF_INET);

Paramètres d'appel :

  • family: Entier, spécifiez l'adresse définie, la valeur par défaut est AF_INET, ipv4

Attributs des membres

family

Entier, interroge l'ensemble d'adresses de l'objet Socket actuel

1
readonly Integer Socket.family;

remoteAddress

Chaîne, demande l'adresse de l'autre partie actuellement connectée

1
readonly String Socket.remoteAddress;

remotePort

Entier, interroge le port de l'autre partie actuellement connectée

1
readonly Integer Socket.remotePort;

localAddress

String, interroge l'adresse locale de la connexion actuelle

1
readonly String Socket.localAddress;

localPort

Entier, interroge le port local actuellement connecté

1
readonly Integer Socket.localPort;

timeout

Entier, requête et définition du délai d'attente en millisecondes

1
Integer Socket.timeout;

fd

Entier, requête Stream La valeur de descripteur de fichier correspondant, implémentée par la sous-classe

1
readonly Integer Socket.fd;

Fonction membre

connect

Établir une connexion tcp

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

Paramètres d'appel :

  • host: chaîne, spécifiez l'adresse ou le nom d'hôte de l'autre partie, ou pointez sur le chemin du socket unix et du tuyau Windows
  • port: Entier, spécifiez le port de l'autre partie, ignorez ce paramètre lors de la connexion du socket unix et du tuyau Windows

bind

Lier le Socket actuel au port spécifié 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: booléen, spécifiez s'il faut accepter la connexion ipv4, la valeur par défaut est true. Ce paramètre est valide en ipv6 et dépend du système d'exploitation

Lier le Socket actuel au port spécifié de l'adresse spécifiée

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

Paramètres d'appel :

  • addr: chaîne, spécifiez l'adresse de liaison ou pointez sur le chemin du socket unix et du tube Windows
  • port: Entier, spécifiez le port lié. Lors de la liaison d'un socket Unix et d'un tube Windows, ignorez ce paramètre
  • allowIPv4: booléen, spécifiez s'il faut accepter la connexion ipv4, la valeur par défaut est true. Ce paramètre est valide en 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 requêtes, les requêtes qui la dépassent seront rejetées, la valeur par défaut est 120

accept

Attendre et accepter une connexion

1
Socket Socket.accept() async;

Résultat de retour :

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

recv

Lire la taille spécifiée des données à partir de la connexion, contrairement à la méthode de lecture, recv ne garantit pas que les données requises 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 lit les données de n'importe quelle taille

Résultat de retour :

  • Buffer, Renvoie les données lues à partir de la connexion

send

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

1
Socket.send(Buffer data) async;

Paramètres d'appel :

  • data: Buffer, Étant donné les données à écrire

read

Lire les données de la taille spécifiée à partir du 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 un bloc de données de taille aléatoire, la taille des données lues dépend de l'appareil

Résultat de retour :

  • Buffer, Renvoie les données lues à partir du flux, s'il n'y a pas de données à lire ou si la connexion est interrompue, renvoie null

write

Écrire les données fournies dans le flux

1
Socket.write(Buffer data) async;

Paramètres d'appel :

  • data: Buffer, Étant donné les données à écrire

flush

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

1
Socket.flush() async;

close

Fermer 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, L'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 "[Objet natif]", l'objet peut être ré-implémenté selon ses propres caractéristiques

1
String Socket.toString();

Résultat de retour :

  • String, Renvoie la représentation sous forme de chaîne de l'objet

toJSON

Renvoie la représentation au format 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é

Résultat de retour :

  • Value, Renvoie une valeur contenant JSON sérialisable