Objet objet intégré

ObjetWebSocket

WebSocket est un protocole de communication full duplex basé sur le protocole TCP. Il établit une connexion ininterrompue entre le navigateur et le serveur, peut réaliser une transmission de données bidirectionnelle en temps réel et prendre en charge la transmission de données dans n'importe quel format. Dans fibjs, le module de support WebSocket fournit l'interface API correspondante, qui peut réaliser le développement du serveur et du client WebSocket.

Le module de support WebSocket n'est qu'une implémentation du protocole WebSocket et doit fonctionner au-dessus du protocole HTTP. Côté serveur, la requête HTTP peut être convertie en connexion WebSocket via la fonction de mise à niveau, tandis que côté client, l'adresse du serveur à connecter doit être spécifiée via l'URL du protocole WebSocket.

Exemple de démarrage d'un serveur WebSocket :

1 2 3 4 5 6 7 8 9 10 11
var ws = require('ws'); var http = require('http'); var svr = new http.Server(80, { '/ws': ws.upgrade(conn => { conn.onmessage = e => { conn.send('fibjs:' + e.data); }; }) }); svr.start();

Exemple d'établissement d'une connexion au serveur ci-dessus dans le client :

1 2 3 4 5 6 7 8 9 10 11 12
var ws = require("ws"); var conn = new ws.Socket("ws://127.0.0.1/ws"); // emit open event conn.onopen = () => { console.log("websocket connected"); conn.send("hi"); }; // emit close event conn.onmessage = evt => { console.log("websocket receive: " + evt.data); };

relation d'héritage

Constructeur

WebSocket

Constructeur WebSocket

1 2 3
new WebSocket(String url, String protocol = "", String origin = "");

Paramètres d'appel :

  • url: String, spécifie le serveur connecté
  • protocol: String, spécifie le protocole de prise de contact, la valeur par défaut est ""
  • origin: String, spécifie la source de simulation lors de la prise de contact, la valeur par défaut est ""

Constructeur WebSocket

1 2
new WebSocket(String url, Object opts);

Paramètres d'appel :

  • url: String, spécifie le serveur connecté
  • opts: Objet, option de connexion, la valeur par défaut est {}

opts contient des options supplémentaires pour la demande, prises en charge comme suit :

1 2 3 4 5 6 7 8
{ "protocol": "", // specify the sub-protocol, default is "" "origin": "", // specify the origin, default is "" "perMessageDeflate": false, // specify whether to enable permessage-deflate, default is false "maxPayload": 67108864, // specify the max payload size, default is 64MB "httpClient": hc, // specify the http client, default is null, use the global http client "headers": // specify the http headers, default is {} }

propriétés statiques

defaultMaxListeners

Entier, le nombre maximum global d'auditeurs par défaut

1
static Integer WebSocket.defaultMaxListeners;

propriétés des membres

url

String, interroge le serveur auquel l'objet actuel est connecté

1
readonly String WebSocket.url;

protocol

Chaîne, interroge le protocole de connexion actuelle à l'objet

1
readonly String WebSocket.protocol;

origin

Chaîne, interrogez la source de la connexion d'objet actuelle

1
readonly String WebSocket.origin;

readyState

Entier, interrogez l'état de connexion de l'objet actuel, voirws

1
readonly Integer WebSocket.readyState;

onopen

Événements de réussite de connexion de fonction, de requête et de liaison, équivalents à on("open", func);

1
Function WebSocket.onopen;

onmessage

Fonctionne, interroge et lie les événements qui reçoivent des messages de l'autre partie, équivalent à on("message", func);

1
Function WebSocket.onmessage;

onclose

Fonction, interroge et lie les événements de fermeture de connexion, équivalents à on("close", func);

1
Function WebSocket.onclose;

onerror

Fonctionne, interroge et lie des événements lorsque des erreurs se produisent, équivalent à on("error", func);

1
Function WebSocket.onerror;

fonction membre

close

Fermez la connexion en cours. Cette opération enverra un paquet CLOSE à l'autre partie et attendra que l'autre partie réponde.

1 2
WebSocket.close(Integer code = 1000, String reason = "");

Paramètres d'appel :

  • code: Entier, spécifie le code d'arrêt, la valeur autorisée est 3000-4999 ou 1000, la valeur par défaut est 1000
  • reason: Chaîne, spécifie la raison de l'arrêt, la valeur par défaut est ""

send

Envoyer un SMS à l'autre partie

1
WebSocket.send(String data);

Paramètres d'appel :

  • data: String, précise le texte à envoyer

Envoyer un morceau de données binaires à l'autre partie

1
WebSocket.send(Buffer data);

Paramètres d'appel :

  • data:Buffer, précisez les données binaires envoyées

ref

Empêcher le processus fibjs de se terminer et empêcher le processus fibjs de se terminer pendant la liaison d'objet

1
WebSocket WebSocket.ref();

Résultats de retour :

  • WebSocket, renvoie l'objet actuel

unref

Autoriser le processus fibjs à se terminer. Autoriser le processus fibjs à se terminer pendant la liaison d'objet.

1
WebSocket WebSocket.unref();

Résultats de retour :

  • WebSocket, renvoie l'objet actuel

on

Lier un gestionnaire d'événements à l'objet

1 2
Object WebSocket.on(String ev, Function func);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement
  • func: Fonction, spécifiez la fonction de traitement des événements

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Lier un gestionnaire d'événements à l'objet

1
Object WebSocket.on(Object map);

Paramètres d'appel :

  • map: Objet, spécifie la relation de mappage d'événement, le nom de l'attribut de l'objet sera utilisé comme nom d'événement et la valeur de l'attribut sera utilisée comme fonction de traitement d'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

addListener

Lier un gestionnaire d'événements à l'objet

1 2
Object WebSocket.addListener(String ev, Function func);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement
  • func: Fonction, spécifiez la fonction de traitement des événements

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Lier un gestionnaire d'événements à l'objet

1
Object WebSocket.addListener(Object map);

Paramètres d'appel :

  • map: Objet, spécifie la relation de mappage d'événement, le nom de l'attribut de l'objet sera utilisé comme nom d'événement et la valeur de l'attribut sera utilisée comme fonction de traitement d'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

prependListener

Lier un gestionnaire d'événements à l'origine de l'objet

1 2
Object WebSocket.prependListener(String ev, Function func);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement
  • func: Fonction, spécifiez la fonction de traitement des événements

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Lier un gestionnaire d'événements à l'origine de l'objet

1
Object WebSocket.prependListener(Object map);

Paramètres d'appel :

  • map: Objet, spécifie la relation de mappage d'événement, le nom de l'attribut de l'objet sera utilisé comme nom d'événement et la valeur de l'attribut sera utilisée comme fonction de traitement d'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

once

Liez un gestionnaire d'événement unique à l'objet.Le gestionnaire unique ne sera déclenché qu'une seule fois.

1 2
Object WebSocket.once(String ev, Function func);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement
  • func: Fonction, spécifiez la fonction de traitement des événements

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Liez un gestionnaire d'événement unique à l'objet.Le gestionnaire unique ne sera déclenché qu'une seule fois.

1
Object WebSocket.once(Object map);

Paramètres d'appel :

  • map: Objet, spécifie la relation de mappage d'événement, le nom de l'attribut de l'objet sera utilisé comme nom d'événement et la valeur de l'attribut sera utilisée comme fonction de traitement d'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

prependOnceListener

Lier un gestionnaire d'événements à l'origine de l'objet

1 2
Object WebSocket.prependOnceListener(String ev, Function func);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement
  • func: Fonction, spécifiez la fonction de traitement des événements

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Lier un gestionnaire d'événements à l'origine de l'objet

1
Object WebSocket.prependOnceListener(Object map);

Paramètres d'appel :

  • map: Objet, spécifie la relation de mappage d'événement, le nom de l'attribut de l'objet sera utilisé comme nom d'événement et la valeur de l'attribut sera utilisée comme fonction de traitement d'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

off

Désaffecter une fonction de la file d'attente de traitement des objets

1 2
Object WebSocket.off(String ev, Function func);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement
  • func: Fonction, spécifiez la fonction de traitement des événements

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Annuler toutes les fonctions dans la file d'attente de traitement des objets

1
Object WebSocket.off(String ev);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Désaffecter une fonction de la file d'attente de traitement des objets

1
Object WebSocket.off(Object map);

Paramètres d'appel :

  • map: Objet, spécifie la relation de mappage d'événement, le nom de l'attribut de l'objet est utilisé comme nom d'événement et la valeur de l'attribut est utilisée comme fonction de traitement d'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

removeListener

Désaffecter une fonction de la file d'attente de traitement des objets

1 2
Object WebSocket.removeListener(String ev, Function func);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement
  • func: Fonction, spécifiez la fonction de traitement des événements

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Annuler toutes les fonctions dans la file d'attente de traitement des objets

1
Object WebSocket.removeListener(String ev);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Désaffecter une fonction de la file d'attente de traitement des objets

1
Object WebSocket.removeListener(Object map);

Paramètres d'appel :

  • map: Objet, spécifie la relation de mappage d'événement, le nom de l'attribut de l'objet est utilisé comme nom d'événement et la valeur de l'attribut est utilisée comme fonction de traitement d'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

removeAllListeners

Annule tous les écouteurs de tous les événements de la file d'attente de traitement de l'objet. Si un événement est spécifié, supprime tous les écouteurs de l'événement spécifié.

1
Object WebSocket.removeAllListeners(String ev);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

Annule tous les écouteurs de tous les événements de la file d'attente de traitement de l'objet. Si un événement est spécifié, supprime tous les écouteurs de l'événement spécifié.

1
Object WebSocket.removeAllListeners(Array evs = []);

Paramètres d'appel :

  • evs: Tableau, précisez le nom de l'événement

Résultats de retour :

  • Object, renvoie l'objet événement lui-même pour faciliter les appels en chaîne

setMaxListeners

La limite par défaut du nombre d'auditeurs, pour des raisons de compatibilité uniquement

1
WebSocket.setMaxListeners(Integer n);

Paramètres d'appel :

  • n: Entier, précisez le nombre d'événements

getMaxListeners

Obtient le nombre limite par défaut d'écouteurs, pour des raisons de compatibilité uniquement

1
Integer WebSocket.getMaxListeners();

Résultats de retour :

  • Integer, renvoie la quantité limite par défaut

listeners

Interrogez le tableau d'écoute pour l'événement spécifié de l'objet

1
Array WebSocket.listeners(String ev);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement

Résultats de retour :

  • Array, renvoie le tableau d'écoute pour l'événement spécifié

listenerCount

Interroger le nombre d'écouteurs pour l'événement spécifié de l'objet

1
Integer WebSocket.listenerCount(String ev);

Paramètres d'appel :

  • ev: String, spécifie le nom de l'événement

Résultats de retour :

  • Integer, renvoie le nombre d'écouteurs pour l'événement spécifié

Interroger le nombre d'écouteurs pour l'événement spécifié de l'objet

1 2
Integer WebSocket.listenerCount(Value o, String ev);

Paramètres d'appel :

  • o: Valeur, précise l'objet de la requête
  • ev: String, spécifie le nom de l'événement

Résultats de retour :

  • Integer, renvoie le nombre d'écouteurs pour l'événement spécifié

eventNames

Nom de l'événement d'écoute de requête

1
Array WebSocket.eventNames();

Résultats de retour :

  • Array, renvoie un tableau de noms d'événements

emit

Déclencher activement un événement

1 2
Boolean WebSocket.emit(String ev, ...args);

Paramètres d'appel :

  • ev: Chaîne, nom de l'événement
  • args: ..., les paramètres de l'événement seront transmis à la fonction de traitement des événements

Résultats de retour :

  • Boolean, renvoie l'état du déclencheur d'événement, renvoie vrai s'il y a un événement de réponse, sinon renvoie faux

toString

Renvoie la représentation sous forme de chaîne de l'objet. Généralement, "[Native Object]" est renvoyé. L'objet peut être réimplémenté en fonction de ses propres caractéristiques.

1
String WebSocket.toString();

Résultats de retour :

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

toJSON

Renvoie une représentation au format JSON de l'objet, renvoyant généralement une collection de propriétés lisibles définies par l'objet.

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

Paramètres d'appel :

  • key: Chaîne, non utilisée

Résultats de retour :

  • Value, renvoie une valeur contenant du JSON sérialisable