Comment puis-je déterminer le type de websocket onmessage du paramètre?
Ici https://developer.mozilla.org/en/WebSockets/WebSockets_reference/MessageEvent il indique les données d'attribut est de type DOMString| Blob | ArrayBuffer. Comment dois-je préciser le type que je veux? Ou comment puis-je savoir quel type d'-je obtenir?
Vous devez vous connecter pour publier un commentaire.
La appropriée dans les deux types d'images qu'un serveur peut envoyer sont des blocs de texte et binaire des cadres (5.2). Le
ws.binaryType
vous permet de définir le format dans lequel vous souhaitez obtenir les données binaires.binaryType
être réglé soitarraybuffer
oublob
Pour déterminer le type, vous pouvez utiliser:
e.data instanceof ArrayBuffer
e.data instanceof Blob
typeof e.data === "string"
Référence:
Le type de données dans un websocket cadre est déterminé par l'expéditeur (voir 1.2) et donc ne peut pas être définie par le récepteur. Si des données textuelles est envoyé, puis le type de
e.data
eststring
. Si des données binaires est envoyé, puise.data
sera une instance deArrayBuffer
, ouBlob
, selon la valeur de laws.binaryType
propriété définie par le récepteur.Cela a déjà été répondu par pimvdb.