ObjectWebSocket
WebSocket és un protocol de comunicació full-duplex basat en el protocol TCP que estableix una connexió ininterrompuda entre el navegador i el servidor, pot realitzar una transmissió de dades bidireccional en temps real i pot suportar la transmissió de dades en qualsevol format. En fibjs, el mòdul de suport de WebSocket proporciona la interfície API corresponent, que pot realitzar el desenvolupament del servidor i client WebSocket.
El mòdul de suport de WebSocket és només una implementació del protocol WebSocket i ha de funcionar a la part superior del protocol HTTP. Al costat del servidor, la sol·licitud HTTP es pot convertir en una connexió WebSocket mitjançant la funció d'actualització, mentre que al costat del client, l'adreça del servidor que s'ha de connectar s'ha d'especificar mitjançant l'URL del protocol WebSocket.
Exemple d'inici d'un servidor WebSocket:
1
2
3
4
5
6
7
8
9
10
11var 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'establiment d'una connexió amb el servidor anterior al client:
1
2
3
4
5
6
7
8
9
10
11
12var 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);
};
relació hereditària
Constructor
WebSocket
Constructor WebSocket
1
2
3new WebSocket(String url,
String protocol = "",
String origin = "");
Paràmetres de trucada:
- url: Cadena, especifica el servidor connectat
- protocol: Cadena, especifica el protocol de connexió de mans, el valor per defecte és ""
- origin: Cadena, especifica l'origen de la simulació durant l'encaixada, el valor predeterminat és ""
Constructor WebSocket
1
2new WebSocket(String url,
Object opts);
Paràmetres de trucada:
- url: Cadena, especifica el servidor connectat
- opts: Objecte, opció de connexió, per defecte és {}
opts conté opcions addicionals per a la sol·licitud, compatibles de la següent manera:
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 {}
}
propietats estàtiques
defaultMaxListeners
Enter, el nombre màxim global predeterminat d'oients
1static Integer WebSocket.defaultMaxListeners;
propietats dels membres
url
String, consulta el servidor al qual està connectat l'objecte actual
1readonly String WebSocket.url;
protocol
String, consulta el protocol de connexió de l'objecte actual
1readonly String WebSocket.protocol;
origin
Cadena, consulta l'origen de la connexió de l'objecte actual
1readonly String WebSocket.origin;
readyState
Enter, consulteu l'estat de connexió de l'objecte actual, vegeuws
1readonly Integer WebSocket.readyState;
onopen
Esdeveniments d'èxit de connexió de funció, consulta i vinculació, equivalent a on("open", func);
1Function WebSocket.onopen;
onmessage
Esdeveniments de funció, consulta i vinculació que reben missatges de l'altra part, equivalent a on("missatge", func);
1Function WebSocket.onmessage;
onclose
Funció, consultes i enllaços esdeveniments de tancament de connexió, equivalent a on("tancar", func);
1Function WebSocket.onclose;
onerror
Esdeveniments de funció, consulta i vinculació quan es produeixen errors, equivalent a on("error", func);
1Function WebSocket.onerror;
funció de membre
close
Tanca la connexió actual. Aquesta operació enviarà un paquet CLOSE a l'altra part i esperarà que l'altra part respongui.
1
2WebSocket.close(Integer code = 1000,
String reason = "");
Paràmetres de trucada:
- code: Enter, especifica el codi d'apagada, el valor permès és 3000-4999 o 1000, el valor predeterminat és 1000
- reason: Cadena, especifica el motiu de l'aturada, el valor predeterminat és ""
send
Envia un missatge de text a l'altra part
1WebSocket.send(String data);
Paràmetres de trucada:
- data: Cadena, especifica el text a enviar
Envieu un tros de dades binàries a l'altra part
1WebSocket.send(Buffer data);
Paràmetres de trucada:
- data:Buffer, especifiqueu les dades binàries enviades
ref
Eviteu que el procés fibjs surti i eviteu que el procés fibjs surti durant l'enllaç d'objectes
1WebSocket WebSocket.ref();
Resultats de retorn:
- WebSocket, retorna l'objecte actual
unref
Permet que el procés fibjs surti. Permet que el procés fibjs surti durant l'enllaç d'objectes.
1WebSocket WebSocket.unref();
Resultats de retorn:
- WebSocket, retorna l'objecte actual
on
Enllaceu un controlador d'esdeveniments a l'objecte
1
2Object WebSocket.on(String ev,
Function func);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
- func: Funció, especifiqueu la funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Enllaceu un controlador d'esdeveniments a l'objecte
1Object WebSocket.on(Object map);
Paràmetres de trucada:
- map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
addListener
Enllaceu un controlador d'esdeveniments a l'objecte
1
2Object WebSocket.addListener(String ev,
Function func);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
- func: Funció, especifiqueu la funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Enllaceu un controlador d'esdeveniments a l'objecte
1Object WebSocket.addListener(Object map);
Paràmetres de trucada:
- map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
prependListener
Enllaceu un controlador d'esdeveniments a l'origen de l'objecte
1
2Object WebSocket.prependListener(String ev,
Function func);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
- func: Funció, especifiqueu la funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Enllaceu un controlador d'esdeveniments a l'origen de l'objecte
1Object WebSocket.prependListener(Object map);
Paràmetres de trucada:
- map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
once
Enllaça un controlador d'esdeveniments únic a l'objecte. El controlador únic només s'activarà una vegada.
1
2Object WebSocket.once(String ev,
Function func);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
- func: Funció, especifiqueu la funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Enllaça un controlador d'esdeveniments únic a l'objecte. El controlador únic només s'activarà una vegada.
1Object WebSocket.once(Object map);
Paràmetres de trucada:
- map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
prependOnceListener
Enllaceu un controlador d'esdeveniments a l'origen de l'objecte
1
2Object WebSocket.prependOnceListener(String ev,
Function func);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
- func: Funció, especifiqueu la funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Enllaceu un controlador d'esdeveniments a l'origen de l'objecte
1Object WebSocket.prependOnceListener(Object map);
Paràmetres de trucada:
- map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitzarà com a nom de l'esdeveniment i el valor de l'atribut s'utilitzarà com a funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
off
Desassignar una funció de la cua de processament d'objectes
1
2Object WebSocket.off(String ev,
Function func);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
- func: Funció, especifiqueu la funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Cancel·la totes les funcions de la cua de processament d'objectes
1Object WebSocket.off(String ev);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Desassignar una funció de la cua de processament d'objectes
1Object WebSocket.off(Object map);
Paràmetres de trucada:
- map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitza com a nom de l'esdeveniment i el valor de l'atribut s'utilitza com a funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
removeListener
Desassignar una funció de la cua de processament d'objectes
1
2Object WebSocket.removeListener(String ev,
Function func);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
- func: Funció, especifiqueu la funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Cancel·la totes les funcions de la cua de processament d'objectes
1Object WebSocket.removeListener(String ev);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Desassignar una funció de la cua de processament d'objectes
1Object WebSocket.removeListener(Object map);
Paràmetres de trucada:
- map: Objecte, especifica la relació de mapatge d'esdeveniments, el nom de l'atribut de l'objecte s'utilitza com a nom de l'esdeveniment i el valor de l'atribut s'utilitza com a funció de processament d'esdeveniments
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
removeAllListeners
Cancel·la tots els oients de tots els esdeveniments de la cua de processament de l'objecte. Si s'especifica un esdeveniment, elimina tots els oients de l'esdeveniment especificat.
1Object WebSocket.removeAllListeners(String ev);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
Cancel·la tots els oients de tots els esdeveniments de la cua de processament de l'objecte. Si s'especifica un esdeveniment, elimina tots els oients de l'esdeveniment especificat.
1Object WebSocket.removeAllListeners(Array evs = []);
Paràmetres de trucada:
- evs: Matriu, especifiqueu el nom de l'esdeveniment
Resultats de retorn:
- Object, retorna el propi objecte d'esdeveniment per facilitar les trucades en cadena
setMaxListeners
El límit predeterminat del nombre d'oients, només per compatibilitat
1WebSocket.setMaxListeners(Integer n);
Paràmetres de trucada:
- n: Enter, especifiqueu el nombre d'esdeveniments
getMaxListeners
Obté el nombre límit predeterminat d'oients, només per compatibilitat
1Integer WebSocket.getMaxListeners();
Resultats de retorn:
- Integer, retorna la quantitat límit predeterminada
listeners
Consulteu la matriu d'escolta per a l'esdeveniment especificat de l'objecte
1Array WebSocket.listeners(String ev);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
Resultats de retorn:
- Array, retorna la matriu d'escolta per a l'esdeveniment especificat
listenerCount
Consulteu el nombre d'oients per a l'esdeveniment especificat de l'objecte
1Integer WebSocket.listenerCount(String ev);
Paràmetres de trucada:
- ev: Cadena, especifica el nom de l'esdeveniment
Resultats de retorn:
- Integer, retorna el nombre d'oients per a l'esdeveniment especificat
Consulteu el nombre d'oients per a l'esdeveniment especificat de l'objecte
1
2Integer WebSocket.listenerCount(Value o,
String ev);
Paràmetres de trucada:
- o: Valor, especifica l'objecte de la consulta
- ev: Cadena, especifica el nom de l'esdeveniment
Resultats de retorn:
- Integer, retorna el nombre d'oients per a l'esdeveniment especificat
eventNames
Consulta el nom de l'esdeveniment de l'oient
1Array WebSocket.eventNames();
Resultats de retorn:
- Array, retorna una matriu de noms d'esdeveniments
emit
Activa activament un esdeveniment
1
2Boolean WebSocket.emit(String ev,
...args);
Paràmetres de trucada:
- ev: cadena, nom de l'esdeveniment
- args: ..., els paràmetres d'esdeveniment es passaran a la funció de processament d'esdeveniments
Resultats de retorn:
- Boolean, retorna l'estat de l'activador de l'esdeveniment, retorna true si hi ha un esdeveniment de resposta, en cas contrari retorna false
toString
Retorna la representació de cadena de l'objecte. En general, es retorna "[Objecte natiu]". L'objecte es pot tornar a implementar segons les seves pròpies característiques.
1String WebSocket.toString();
Resultats de retorn:
- String, retorna la representació de cadena de l'objecte
toJSON
Retorna una representació en format JSON de l'objecte, generalment retornant una col·lecció de propietats llegibles definides per l'objecte.
1Value WebSocket.toJSON(String key = "");
Paràmetres de trucada:
- key: Corda, no utilitzada
Resultats de retorn:
- Value, retorna un valor que conté JSON serializable