ObjectWebSocket
WebSocket is een full-duplex communicatieprotocol gebaseerd op het TCP-protocol, dat een ononderbroken verbinding tot stand brengt tussen de browser en de server, real-time tweerichtingsdatatransmissie kan realiseren en datatransmissie in elk formaat ondersteunt. In fibjs biedt de WebSocket-ondersteuningsmodule de bijbehorende API-interface, die de ontwikkeling van WebSocket-server en -client kan realiseren.
De WebSocket-ondersteuningsmodule is slechts een implementatie van het WebSocket-protocol en moet bovenop het HTTP-protocol werken. Aan de serverzijde kan het HTTP-verzoek via de upgradefunctie worden omgezet in een WebSocket-verbinding, terwijl aan de clientzijde het te verbinden serveradres moet worden opgegeven via de URL van het WebSocket-protocol.
Voorbeeld van het starten van een WebSocket-server:
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();
Voorbeeld van het tot stand brengen van een verbinding met de bovenstaande server in de 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);
};
erfenis relatie
Constructeur
WebSocket
WebSocket-constructor
1
2
3new WebSocket(String url,
String protocol = "",
String origin = "");
Oproepparameters:
- url: String, specificeert de verbonden server
- protocol: String, specificeert het handshake-protocol, de standaardwaarde is ""
- origin: String, specificeert de simulatiebron tijdens handshake, de standaardwaarde is ""
WebSocket-constructor
1
2new WebSocket(String url,
Object opts);
Oproepparameters:
- url: String, specificeert de verbonden server
- opts: Object, verbindingsoptie, standaard is {}
opts bevat extra opties voor het verzoek, die als volgt worden ondersteund:
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 {}
}
statische eigenschappen
defaultMaxListeners
Geheel getal, het standaard globale maximale aantal luisteraars
1static Integer WebSocket.defaultMaxListeners;
eigenschappen van leden
url
String, vraag de server waarmee het huidige object is verbonden
1readonly String WebSocket.url;
protocol
String, vraag het protocol van de huidige objectverbinding op
1readonly String WebSocket.protocol;
origin
String, vraag de bron van de huidige objectverbinding op
1readonly String WebSocket.origin;
readyState
Integer, vraag de verbindingsstatus van het huidige object op, ziews
1readonly Integer WebSocket.readyState;
onopen
Succesgebeurtenissen voor het functioneren, opvragen en binden van verbindingen, gelijk aan on("open", func);
1Function WebSocket.onopen;
onmessage
Functie-, query- en bindgebeurtenissen die berichten van de andere partij ontvangen, gelijk aan on("message", func);
1Function WebSocket.onmessage;
onclose
Functie, query's en bindingen voor het sluiten van verbindingen, gelijkwaardig aan on("close", func);
1Function WebSocket.onclose;
onerror
Functie-, query- en bindgebeurtenissen wanneer er fouten optreden, gelijk aan on("error", func);
1Function WebSocket.onerror;
lid functie
close
Sluit de huidige verbinding. Met deze bewerking wordt een CLOSE-pakket naar de andere partij verzonden en wordt gewacht tot de andere partij reageert.
1
2WebSocket.close(Integer code = 1000,
String reason = "");
Oproepparameters:
- code: geheel getal, specificeert de afsluitcode, de toegestane waarde is 3000-4999 of 1000, de standaardwaarde is 1000
- reason: String, specificeert de reden voor afsluiten, de standaardwaarde is ""
send
Stuur een sms naar de andere partij
1WebSocket.send(String data);
Oproepparameters:
- data: String, specificeert de te verzenden tekst
Stuur een stukje binaire gegevens naar de andere partij
1WebSocket.send(Buffer data);
Oproepparameters:
- data:Buffer, geef de verzonden binaire gegevens op
ref
Zorg ervoor dat het fibjs-proces niet wordt afgesloten en voorkom dat het fibjs-proces wordt afgesloten tijdens objectbinding
1WebSocket WebSocket.ref();
Resultaten retourneren:
- WebSocket, retourneert het huidige object
unref
Sta toe dat het fibjs-proces wordt afgesloten. Sta toe dat het fibjs-proces wordt afgesloten tijdens objectbinding.
1WebSocket WebSocket.unref();
Resultaten retourneren:
- WebSocket, retourneert het huidige object
on
Bind een gebeurtenishandler aan het object
1
2Object WebSocket.on(String ev,
Function func);
Oproepparameters:
- ev: String, specificeert de naam van de gebeurtenis
- func: Functie, specificeer de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
Bind een gebeurtenishandler aan het object
1Object WebSocket.on(Object map);
Oproepparameters:
- map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
addListener
Bind een gebeurtenishandler aan het object
1
2Object WebSocket.addListener(String ev,
Function func);
Oproepparameters:
- ev: String, specificeert de naam van de gebeurtenis
- func: Functie, specificeer de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
Bind een gebeurtenishandler aan het object
1Object WebSocket.addListener(Object map);
Oproepparameters:
- map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
prependListener
Bind een gebeurtenishandler aan de oorsprong van het object
1
2Object WebSocket.prependListener(String ev,
Function func);
Oproepparameters:
- ev: String, specificeert de naam van de gebeurtenis
- func: Functie, specificeer de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
Bind een gebeurtenishandler aan de oorsprong van het object
1Object WebSocket.prependListener(Object map);
Oproepparameters:
- map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
once
Bind een eenmalige gebeurtenishandler aan het object. De eenmalige gebeurtenishandler wordt slechts één keer geactiveerd.
1
2Object WebSocket.once(String ev,
Function func);
Oproepparameters:
- ev: String, specificeert de naam van de gebeurtenis
- func: Functie, specificeer de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
Bind een eenmalige gebeurtenishandler aan het object. De eenmalige gebeurtenishandler wordt slechts één keer geactiveerd.
1Object WebSocket.once(Object map);
Oproepparameters:
- map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
prependOnceListener
Bind een gebeurtenishandler aan de oorsprong van het object
1
2Object WebSocket.prependOnceListener(String ev,
Function func);
Oproepparameters:
- ev: String, specificeert de naam van de gebeurtenis
- func: Functie, specificeer de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
Bind een gebeurtenishandler aan de oorsprong van het object
1Object WebSocket.prependOnceListener(Object map);
Oproepparameters:
- map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
off
De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken
1
2Object WebSocket.off(String ev,
Function func);
Oproepparameters:
- ev: String, specificeert de naam van de gebeurtenis
- func: Functie, specificeer de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
Annuleer alle functies in de wachtrij voor objectverwerking
1Object WebSocket.off(String ev);
Oproepparameters:
- ev: String, specificeert de naam van de gebeurtenis
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken
1Object WebSocket.off(Object map);
Oproepparameters:
- map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
removeListener
De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken
1
2Object WebSocket.removeListener(String ev,
Function func);
Oproepparameters:
- ev: String, specificeert de naam van de gebeurtenis
- func: Functie, specificeer de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
Annuleer alle functies in de wachtrij voor objectverwerking
1Object WebSocket.removeListener(String ev);
Oproepparameters:
- ev: String, specificeert de naam van de gebeurtenis
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
De toewijzing van een functie uit de objectverwerkingswachtrij ongedaan maken
1Object WebSocket.removeListener(Object map);
Oproepparameters:
- map: Object, specificeert de gebeurtenistoewijzingsrelatie, de objectattribuutnaam wordt gebruikt als de gebeurtenisnaam en de waarde van het attribuut wordt gebruikt als de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
removeAllListeners
Annuleert alle luisteraars voor alle gebeurtenissen uit de verwerkingswachtrij van het object. Als er een gebeurtenis is opgegeven, worden alle luisteraars voor de opgegeven gebeurtenis verwijderd.
1Object WebSocket.removeAllListeners(String ev);
Oproepparameters:
- ev: String, specificeert de naam van de gebeurtenis
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
Annuleert alle luisteraars voor alle gebeurtenissen uit de verwerkingswachtrij van het object. Als er een gebeurtenis is opgegeven, worden alle luisteraars voor de opgegeven gebeurtenis verwijderd.
1Object WebSocket.removeAllListeners(Array evs = []);
Oproepparameters:
- evs: Array, geef de naam van de gebeurtenis op
Resultaten retourneren:
- Object, retourneert het gebeurtenisobject zelf om kettingoproepen te vergemakkelijken
setMaxListeners
De standaardlimiet voor het aantal luisteraars, alleen voor compatibiliteit
1WebSocket.setMaxListeners(Integer n);
Oproepparameters:
- n: geheel getal, geef het aantal gebeurtenissen op
getMaxListeners
Krijgt het standaardlimietaantal luisteraars, alleen voor compatibiliteit
1Integer WebSocket.getMaxListeners();
Resultaten retourneren:
- Integer, retourneert de standaardlimiethoeveelheid
listeners
Voer een query uit op de luisteraararray voor de opgegeven gebeurtenis van het object
1Array WebSocket.listeners(String ev);
Oproepparameters:
- ev: String, specificeert de naam van de gebeurtenis
Resultaten retourneren:
- Array, retourneert de luisteraararray voor de opgegeven gebeurtenis
listenerCount
Vraag het aantal luisteraars op voor de opgegeven gebeurtenis van het object
1Integer WebSocket.listenerCount(String ev);
Oproepparameters:
- ev: String, specificeert de naam van de gebeurtenis
Resultaten retourneren:
- Integer, retourneert het aantal luisteraars voor de opgegeven gebeurtenis
Vraag het aantal luisteraars op voor de opgegeven gebeurtenis van het object
1
2Integer WebSocket.listenerCount(Value o,
String ev);
Oproepparameters:
- o: Waarde, specificeert het object van de query
- ev: String, specificeert de naam van de gebeurtenis
Resultaten retourneren:
- Integer, retourneert het aantal luisteraars voor de opgegeven gebeurtenis
eventNames
Naam van query-listenergebeurtenis
1Array WebSocket.eventNames();
Resultaten retourneren:
- Array, retourneert een array met gebeurtenisnamen
emit
Activeer actief een gebeurtenis
1
2Boolean WebSocket.emit(String ev,
...args);
Oproepparameters:
- ev: String, gebeurtenisnaam
- args: ..., gebeurtenisparameters worden doorgegeven aan de gebeurtenisverwerkingsfunctie
Resultaten retourneren:
- Boolean, retourneert de gebeurtenistriggerstatus, retourneert waar als er een responsgebeurtenis is, retourneert anders false
toString
Retourneert de tekenreeksweergave van het object. Over het algemeen wordt '[Native Object]' geretourneerd. Het object kan opnieuw worden geïmplementeerd op basis van zijn eigen kenmerken.
1String WebSocket.toString();
Resultaten retourneren:
- String, retourneert de tekenreeksrepresentatie van het object
toJSON
Retourneert een weergave in JSON-indeling van het object, waarbij doorgaans een verzameling leesbare eigenschappen wordt geretourneerd die door het object zijn gedefinieerd.
1Value WebSocket.toJSON(String key = "");
Oproepparameters:
- key: Tekenreeks, niet gebruikt
Resultaten retourneren:
- Value, retourneert een waarde die JSON-serialiseerbaar bevat