Μετάβαση στο περιεχόμενο

WebSocket

Δεξί κλικ στο δέντρο ▸ Προσθήκη ▸ Αίτημα WebSocket.

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

Μια καρτέλα WebSocket συνδεδεμένη σε διακομιστή: το απεσταλμένο πλαίσιο στοιχισμένο δεξιά, τα ληφθέντα πλαίσια στοιχισμένα αριστερά

ΠεδίοΡόλος
URLws:// ή wss://
ΜήνυμαΤο ωφέλιμο φορτίο προς αποστολή
ΚεφαλίδεςΟι κεφαλίδες του αιτήματος ανοίγματος (handshake)

Το κουμπί ενέργειας ανοίγει τη σύνδεση· ο πίνακας απόκρισης εμφανίζει τα πλαίσια προοδευτικά, με τη σειρά, με χρονοσήμανση. Το ίδιο κουμπί κλείνει τη σύνδεση.

Τρεις ενέργειες, που χρησιμοποιούνται μαζί:

  • Σύνδεση WebSocket — ανοίγει τη σύνδεση και της δίνει όνομα. Έχει δύο εξόδους: connected (σήμα, μία φορά) και message (μία εκπομπή ανά πλαίσιο που λαμβάνεται)·
  • Αποστολή WebSocket — στέλνει ένα ωφέλιμο φορτίο στην επώνυμη σύνδεση·
  • Κλείσιμο σύνδεσης WebSocket — την κλείνει.

Αυτός ο διαχωρισμός είναι που επιτρέπει να γράψετε «συνδέομαι, στέλνω μια εντολή μέσω HTTP, έπειτα ελέγχω ότι φτάνει η ειδοποίηση WebSocket» μέσα σε έναν μόνο γράφο. Δείτε Συνδέσεις και ροές.

Το Restorm ξέρει να φιλοξενεί έναν διακομιστή WebSocket. Μοιράζεται τον υποδοχέα του με τους άλλους διακομιστές της ίδιας θύρας: ένας διακομιστής προσομοίωσης HTTP και ένας διακομιστής WebSocket μπορούν να ακούν μαζί στο :8080 — τα συνηθισμένα αιτήματα πηγαίνουν στις διαδρομές HTTP, τα αιτήματα αναβάθμισης (upgrade) στον διακομιστή WebSocket. Δείτε Προσομοίωση WebSocket, Socket.IO και MQTT.

Δεκαπέντε στόχοι κοινοί με το 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).