WebSocket
Δεξί κλικ στο δέντρο ▸ Προσθήκη ▸ Αίτημα WebSocket.
Ο τύπος WebSocket του Restorm καλύπτει τρία συγγενικά πρωτόκολλα, που
επιλέγονται από ένα πεδίο Πρωτόκολλο: websocket (ακατέργαστο),
socketio και
mqtt. Αυτή η σελίδα αφορά το ακατέργαστο
WebSocket.

Διαμόρφωση
Section titled “Διαμόρφωση”| Πεδίο | Ρόλος |
|---|---|
| URL | ws:// ή wss:// |
| Μήνυμα | Το ωφέλιμο φορτίο προς αποστολή |
| Κεφαλίδες | Οι κεφαλίδες του αιτήματος ανοίγματος (handshake) |
Ο κύκλος ζωής
Section titled “Ο κύκλος ζωής”Το κουμπί ενέργειας ανοίγει τη σύνδεση· ο πίνακας απόκρισης εμφανίζει τα πλαίσια προοδευτικά, με τη σειρά, με χρονοσήμανση. Το ίδιο κουμπί κλείνει τη σύνδεση.
Μέσα σε ένα σενάριο
Section titled “Μέσα σε ένα σενάριο”Τρεις ενέργειες, που χρησιμοποιούνται μαζί:
- Σύνδεση WebSocket — ανοίγει τη σύνδεση και της δίνει όνομα. Έχει δύο
εξόδους:
connected(σήμα, μία φορά) καιmessage(μία εκπομπή ανά πλαίσιο που λαμβάνεται)· - Αποστολή WebSocket — στέλνει ένα ωφέλιμο φορτίο στην επώνυμη σύνδεση·
- Κλείσιμο σύνδεσης WebSocket — την κλείνει.
Αυτός ο διαχωρισμός είναι που επιτρέπει να γράψετε «συνδέομαι, στέλνω μια εντολή μέσω HTTP, έπειτα ελέγχω ότι φτάνει η ειδοποίηση WebSocket» μέσα σε έναν μόνο γράφο. Δείτε Συνδέσεις και ροές.
Λειτουργία διακομιστή
Section titled “Λειτουργία διακομιστή”Το Restorm ξέρει να φιλοξενεί έναν διακομιστή WebSocket. Μοιράζεται τον
υποδοχέα του με τους άλλους διακομιστές της ίδιας θύρας: ένας διακομιστής
προσομοίωσης HTTP και ένας διακομιστής WebSocket μπορούν να ακούν μαζί στο
:8080 — τα συνηθισμένα αιτήματα πηγαίνουν στις διαδρομές HTTP, τα αιτήματα
αναβάθμισης (upgrade) στον διακομιστή WebSocket. Δείτε
Προσομοίωση WebSocket, Socket.IO και MQTT.
Αποσπάσματα κώδικα
Section titled “Αποσπάσματα κώδικα”Δεκαπέντε στόχοι κοινοί με το Socket.IO και το MQTT: WebSocket του περιηγητή,
ws (Node.js), TypeScript, Socket.IO Client, MQTT.js, Python (websockets,
paho-mqtt), Go (gorilla/websocket), C# (ClientWebSocket), Java
(java-websocket), Ruby, Rust (tokio-tungstenite), Swift
(URLSessionWebSocketTask), Kotlin (OkHttp).