Object-ingebouwd object

ObjectWebSocketMessage

WebSocketMessageJaWebSocketEen berichttype in een protocol dat inkapseltWebSocketEr kan gebruik worden gemaakt van het gegevensformaat en de verwerkingsmethoden van verschillende berichten in het transmissieprotocolWebSocketDe client en server communiceren.

De constructor van de klasse WebSocketMessageondersteunt een gespecificeerde message type parameter type, die drie optionele waarden heeft:

  • ws.TEXT: vertegenwoordigt een tekstbericht, de inhoud is een tekenreeks.
  • ws.BINARY: vertegenwoordigt een bericht van het binaire type, de inhoud bestaat uit binaire gegevens.

Daarnaast kunt u ook WebSocketMessage.maskedopgeven of er een masker moet worden toegepast door het attribuut te wijzigen, en WebSocketMessage.compressof compressie vereist is door het attribuut te gebruiken.

De volgende code is een voorbeeld van een websocket-server. Wanneer een client verbinding maakt, stuurt de server het ontvangen bericht terug naar de client:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
var ws = require('ws'); var http = require('http'); var svr = new http.Server(8080, { '/websocket': ws.upgrade((conn, req) => { // emit message event conn.onmessage = e => { if (e.data.type == ws.TEXT) { console.log(`接收到客户端发来的消息 ${e.data}`); conn.send(e.data); } else { console.error(`收到未知类型消息 ${e.data.type}`); } } conn.onclose = e => console.log('离开了一个客户端'); }) }); svr.start();

In dit programma worden de websocket-ondersteuningsmodule en de ingebouwdehttpmodule en vervolgens gemaakthttpservice object en specificeer het aanvraagpad dat moet worden verwerkt, aanroependws.upgradeDe functie upgradet de aanvraag van het corresponderende pad naar een websocket-verbinding. Nadat er een websocket-verbinding is gemaakt, maakt de server automatisch eenws.SocketObject, en biedt onopen, onmessage, onclose en andere API's die kunnen worden afgehandeld wanneer een client verbinding maakt, een bericht ontvangt en gebeurtenissen sluit. Wanneer een bericht wordt ontvangen, bepaalt de server het type bericht en als het een teksttype is, wordt het ontvangen bericht teruggekaatst. Het bovenstaande is een eenvoudige websocket-serververwerkingsstroom, die kan worden aangepast aan de werkelijke behoeften.

erfenis relatie

Constructeur

WebSocketMessage

Pakketafhandeling berichtobjectconstructor

1 2 3 4
new WebSocketMessage(Integer type = ws.BINARY, Boolean masked = true, Boolean compress = false, Integer maxSize = 67108864);

Oproepparameters:

  • type: geheel getal, websocket-berichttype, standaard is websocket.BINARY
  • masked: Booleaans, websocket-berichtmasker, standaard is waar
  • compress: Boolean, geeft aan of het bericht gecomprimeerd is, de standaardwaarde is false
  • maxSize: Geheel getal, maximale pakketgrootte in MB, standaard is 67108864 (64M)

constante

TEXT

Geef berichttype 1 op, dat een teksttype vertegenwoordigt

1
const WebSocketMessage.TEXT = 1;

BINARY

Geef berichttype 2 op, dat een binair type vertegenwoordigt

1
const WebSocketMessage.BINARY = 2;

eigenschappen van leden

masked

Boolean, query en lees websocketmaskervlag, standaard is waar

1
Boolean WebSocketMessage.masked;

compress

Booleaanse, query- en leeswebsocket-compressiestatus, standaard is false

1
Boolean WebSocketMessage.compress;

maxSize

Geheel getal, vraag op en stel de maximale pakketgrootte in bytes in, de standaardwaarde is 67108864 (64M)

1
Integer WebSocketMessage.maxSize;

value

String, de basisinhoud van het bericht

1
String WebSocketMessage.value;

params

NArray, de basisparameters van het bericht

1
readonly NArray WebSocketMessage.params;

type

Geheel getal, berichttype

1
Integer WebSocketMessage.type;

data

Waarde, zoek naar de gegevens van het bericht. Dit attribuut retourneert verschillende gegevens, afhankelijk van het inhoudstype. Als het tekst is, wordt de tekst geretourneerd.jsonwanneer terugjson, anders retourneert het binair

1
readonly Value WebSocketMessage.data;

body

SeekableStream, een stroomobject dat het gegevensgedeelte van het bericht bevat

1
SeekableStream WebSocketMessage.body;

length

Lang: de lengte van het berichtgegevensgedeelte

1
readonly Long WebSocketMessage.length;

stream

Stream, het streamobject bij het opvragen van het bericht readFrom

1
readonly Stream WebSocketMessage.stream;

lastError

Tekenreeks, query en stel de laatste fout van de berichtverwerking in

1
String WebSocketMessage.lastError;

lid functie

read

Gegevens van een opgegeven grootte uit de stream lezen. Deze methode is een alias van de overeenkomstige body-methode.

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

Oproepparameters:

  • bytes: Geheel getal, specificeert de hoeveelheid gegevens die moeten worden gelezen. De standaardinstelling is het lezen van gegevensblokken van willekeurige grootte. De grootte van de gelezen gegevens is afhankelijk van het apparaat.

Resultaten retourneren:

  • Buffer, retourneert de gegevens die uit de stream zijn gelezen. Als er geen gegevens zijn om te lezen of als de verbinding wordt onderbroken, wordt null geretourneerd.

readAll

Lees alle resterende gegevens uit de stream. Deze methode is een alias van de overeenkomstige methode van body.

1
Buffer WebSocketMessage.readAll() async;

Resultaten retourneren:

  • Buffer, retourneert de gegevens die uit de stream zijn gelezen. Als er geen gegevens zijn om te lezen of als de verbinding wordt onderbroken, wordt null geretourneerd.

write

Schrijf de gegeven gegevens. Deze methode is een alias van de overeenkomstige methode in body.

1
WebSocketMessage.write(Buffer data) async;

Oproepparameters:

  • data:Buffer, gegeven de te schrijven gegevens

json

Schrijft de gegeven gegevens in JSON-codering

1
Value WebSocketMessage.json(Value data);

Oproepparameters:

  • data: Waarde, gegeven de te schrijven gegevens

Resultaten retourneren:

  • Value, retourneert deze methode geen gegevens

Parseer de gegevens in het bericht als JSON-codering

1
Value WebSocketMessage.json();

Resultaten retourneren:

  • Value, retourneert het geparseerde resultaat

pack

doormsgpackCodering schrijft de gegeven gegevens

1
Value WebSocketMessage.pack(Value data);

Oproepparameters:

  • data: Waarde, gegeven de te schrijven gegevens

Resultaten retourneren:

  • Value, retourneert deze methode geen gegevens

doormsgpackCoderen en parseren van de gegevens in het bericht

1
Value WebSocketMessage.pack();

Resultaten retourneren:

  • Value, retourneert het geparseerde resultaat

end

Stel het einde van de huidige berichtverwerking in,ChainDe verwerker gaat niet verder met vervolgtransacties

1
WebSocketMessage.end();

isEnded

Vraag op of het huidige bericht is beëindigd

1
Boolean WebSocketMessage.isEnded();

Resultaten retourneren:

  • Boolean, retourneert waar als u klaar bent

clear

Duidelijke berichtinhoud

1
WebSocketMessage.clear();

sendTo

Stuurt een opgemaakt bericht naar het opgegeven streamobject

1
WebSocketMessage.sendTo(Stream stm) async;

Oproepparameters:

  • stm:Stream, specificeert het streamobject dat het opgemaakte bericht ontvangt

readFrom

Leest het opgemaakte bericht van het gegeven cachestreamobject en ontleedt het ingevulde object

1
WebSocketMessage.readFrom(Stream stm) async;

Oproepparameters:

  • stm:Stream, specificeert het streamobject voor het lezen van opgemaakte berichten

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.

1
String WebSocketMessage.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.

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

Oproepparameters:

  • key: Tekenreeks, niet gebruikt

Resultaten retourneren:

  • Value, retourneert een waarde die JSON-serialiseerbaar bevat