Get to know MDN better
Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Cet exemple montre comment créer un serveur d'API WebSocket API utilisant Java d'Oracle.
Bien que d'autres languages exécutés côté serveur peuvent être utilisés pour créer un serveur de WebSocket, cet exemple utilise Java d'Oracle pour simplifier le code en exemple.
Ce serveur respecte la RFC 6455, dont il prend uniquement en charge les connexions depuis Chrome 16, Firefox 11, IE 10 et au-delà.
WebSockets communique via une connexion TCP (Transmission Control Protocol). La classe Java ServerSocket est située dans le paquet java.net.
Constructeur :
Lors de l'instanciation de la classe ServerSocket, celle-ci est liée au numéro de port renseigné par le paramètre port.
Voici comment implémenter ce que nous venons d'apprendre :
Méthodes :
Méthode :
En débutant à partir de la position off, écrit len octets du tableau d'octets fourni.
Méthodes :
Reads up to len bytes of data from the input stream into an array of bytes.
Lit jusqu'à len octets de données depuis source d'entrée dans un tableau d'octets.
Développons notre exemple.
Quand un client se connecte à un serveur, il envoit une requête GET pour passer à une connexion WebSocket à partir d'une simple connexion HTTP. Ceci est appelé l'établissement d'une liaison.
Créer une réponse est plus facile que de comprendre pourquoi vous devez le faire comme ça.
Vous devez,
Après l'établissement réussie d'une liaison, le client peut transmettre des messages au serveur, ils seront désormais encodés.
Si nous envoyons « abcdef », nous obtenons :
| 129 | 134 | 167 | 225 | 225 | 210 | 198 | 131 | 130 | 182 | 194 | 135 |
- 129:
| 1 | 0 | 0 | 0 | 0x1=0001 |
FIN : votre message peut être transmis en plusieurs morceaux, mais restons simple pour l'instant. Opcode 0x1 signifie que ceci est un texte. Liste exhaustive des Opcodes
- 134:
Si le second octet moins 128 est entre 0 et 125, alors il s'agit de la longueur du message. Si c'est 126, les deux octets suivants (entier non signé de 16-bits), si c'est 127, les huit octets suivants (entier non signé de 64-bis, dont le poid ford doit être 0) sont la longueur.
Note : Je peux prendre 128 car le premier bit est toujours 1.
- 167, 225, 225 et 210 sont les octets de la clef à décoder. Cela change en permanence.
- Les octets encodés restants constituent le message.
octet décodé = octet encodé XOR (position de l'octet ET LOGIQUE 0x3)th octet de la clef
Exemple en Java :
Cette page a été modifiée le 17 déc. 2024 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.