Classe générale pour les websockets #508
No reviewers
Labels
No labels
devtype -- backend
devtype -- docs
devtype -- frontend
devtype -- user interface
difficulty -- easy
difficulty -- hard
difficulty -- normal
Doing
domain -- bda
domain -- bds
domain -- cof
domain -- core
domain -- kfet
Good first issue
priority -- high
priority -- low
priority -- medium
priority -- staff-wanted
status -- development
status -- discussion
status -- need review
status -- production
status -- ready to merge
status -- todo
To Do
type -- bug
type -- hygiene
type -- improvement
type -- new feature
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: DGNum/gestioCOF#508
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "Aufinal/websockets"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Rajoute une classe
Websocket
pour gérer la création de ws génériques.Crée une instance
OperationWebSocket
pour remplacer celui dekpsul.html
.Tu peux créer une "méthode"
get url
qui donne l'url absolue avec cette "logique"added 1 commit
413df080
- Add url get methodCompare with previous version
Je pense que c'est pas mal d'ajouter à l'objet (
this
) le ws pour pouvoir être utilisé/modifié/whatever ultérieurement, si jamais...added 1 commit
8bf1bd53
- Websocket as memberCompare with previous version
L'interface de base s'appelant
WebSocket
, ça serait bien de lui trouver un autre nom moins procheadded 1 commit
38bfccf3
- Change class nameCompare with previous version
Cette implém fait que plusieurs connexions sont nécessaires pour une seule url, puisque pour chaque callback il faut un nouvel objet Websocket.
Est-ce que ça serait pas mieux d'avoir un constructeur qui prend l'URL relative en argument qui l'ajoute à l'objet et qui initialise un tableau de callbacks qui seront appelé lors d'un event
onmessage
. Il faut aussi une méthodeadd_handler
pour ajouter un callback. Une méthode qui ouvre le WS (pour ne pas l'ouvrir dans le constructeur et donc pré-déclarer des WS pour les URLs canoniques (comme k-psul)) et qui placeonmessage
comme appelant les callbacks dethis.handlers
. Cette méthode est appelée pour créer et connecter le ws si ce n'est pas encore fait lors de l'appel àadd_handler
(histoire de pas avoir à le faire "manuellement").Du coup, tu verrais
add_handler
comme un simple ajout au tableauthis.handlers
ou comme un ajout direct au socket ?Sinon, j'avais aussi pensé à un dictionnaire de handlers avec chacun sa spécifité, et de mettre dans le
onmessage
(par ex)this.handlers['toto'](data['toto'])
pour chaque type de data.Y'a qqch pour ajouter des handlers au ws ? Je connais que
onmessage
qui a l'air d'être une fonction appelée sur réception d'un message et c'est tout. Donc si tu veux enregistrer plusieurs handlers, faut le faire de notre côté (avecthis.handlers
par exemple).Pour ce que tu proposes, pourquoi pas ouais mais je pense pas qu'on gagne beaucoup à l'utilisation, par contre cette classe sera plus longue (faut prévoir les callbacks "typés" mais aussi généraux). Cela dit, ça permettrait d'enlever
default_msg
.added 1 commit
ab15dbae
- Add handler managementCompare with previous version
resolved all discussions
merged
mentioned in commit
fafa7e536e