Τι είναι το πρωτόκολλο WebSocket;

Το WebSocket είναι ένα τυποποιημένο πρωτόκολλο διαδικτύου (RFC 6455) που παρέχει πλήρως διπλής κατεύθυνσης, επίμονες διαύλους επικοινωνίας σε μία μόνο σύνδεση TCP. Σε αντίθεση με το HTTP, το οποίο ακολουθεί ένα μοντέλο αίτησης–απόκρισης όπου ο πελάτης πρέπει να ξεκινήσει κάθε ανταλλαγή, το WebSocket επιτρέπει τόσο στον πελάτη όσο και στον διακομιστή να στέλνουν μηνύματα ανά πάσα στιγμή μετά την αποκατάσταση της σύνδεσης. Η σύνδεση ξεκινά ως αίτημα αναβάθμισης HTTP και στη συνέχεια μεταβαίνει στο πρωτόκολλο πλαισίωσης WebSocket, διατηρώντας το socket ανοιχτό έως ότου κάποια πλευρά το κλείσει ρητά.

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

Περιγραφή εργαλείου

Αυτό το εργαλείο παρέχει έναν διαδραστικό πελάτη WebSocket που εκτελείται εξ ολοκλήρου στο πρόγραμμα περιήγησης. Συνδεθείτε σε οποιονδήποτε διακομιστή WebSocket χρησιμοποιώντας μια διεύθυνση URL ws:// ή wss://, συνθέστε μηνύματα κειμένου ή JSON, στείλτε τα και παρακολουθήστε τις απαντήσεις του διακομιστή να εμφανίζονται σε ένα αρχείο καταγραφής με χρονοσήμανση. Είναι χρήσιμο για δοκιμή της συμπεριφοράς του διακομιστή, εντοπισμό σφαλμάτων σε μορφές μηνυμάτων και εξερεύνηση API WebSocket χωρίς να γράψετε κώδικα.

Χαρακτηριστικά

  • Λειτουργίες κειμένου και JSON — γράψτε μηνύματα ως απλό κείμενο ή μεταβείτε στη λειτουργία JSON με επισήμανση σύνταξης και επικύρωση φορτίου πριν την αποστολή.
  • Αρχείο καταγραφής μηνυμάτων με χρονοσήμανση — κάθε λαμβανόμενο μήνυμα, συμβάν σύνδεσης και σφάλμα καταγράφεται με την ώρα που συνέβη, καθιστώντας εύκολη την παρακολούθηση της ακολουθίας των γεγονότων.
  • Προκαθορισμένοι και προσαρμοσμένοι διακομιστές — συνδεθείτε γρήγορα σε έναν ενσωματωμένο διακομιστή ηχούς για άμεση δοκιμή, ή εισάγετε οποιαδήποτε προσαρμοσμένη διεύθυνση URL WebSocket και αποθηκεύστε την για επαναχρησιμοποίηση.

Επεξήγηση επιλογών

Διεύθυνση URL διακομιστή — μια διεύθυνση URL WebSocket ws:// (χωρίς κρυπτογράφηση) ή wss:// (κρυπτογραφημένη με TLS), π.χ. wss://echo.example.com/ws. Η διεύθυνση URL πρέπει να δείχνει σε ένα τελικό σημείο που χρησιμοποιεί το πρωτόκολλο WebSocket.

Κατάσταση ετοιμότητας — εμφανίζεται στην περιοχή εξόδου και αντικατοπτρίζει την τρέχουσα κατάσταση σύνδεσης: CONNECTING (χειραψία σε εξέλιξη), OPEN (συνδεδεμένο και έτοιμο), CLOSING (χειραψία κλεισίματος σε εξέλιξη), ή CLOSED (σύνδεση τερματισμένη).

Τύπος δεδομένων — εναλλαγή μεταξύ λειτουργιών σύνθεσης Κειμένου και JSON. Στη λειτουργία JSON, ο επεξεργαστής επικυρώνει το φορτίο και εμφανίζει ένα σφάλμα σύνταξης εάν το JSON είναι κακοσχηματισμένο.

Αυτόματη κύλιση — όταν είναι ενεργοποιημένη, το αρχείο καταγραφής μηνυμάτων κυλίεται αυτόματα στην πιο πρόσφατη καταχώρηση.

Πώς λειτουργεί

Το εργαλείο ανοίγει ένα εγγενές αντικείμενο WebSocket του προγράμματος περιήγησης που δείχνει στη διεύθυνση URL προορισμού. Μετά την ολοκλήρωση της χειραψίας αναβάθμισης HTTP, η σύνδεση εισέρχεται στην κατάσταση OPEN και τα μηνύματα μπορούν να ρέουν και προς τις δύο κατευθύνσεις. Όλα τα γεγονότα message από τον διακομιστή καταγράφονται και προστίθενται στο αρχείο καταγραφής. Το κλικ στο Αποσύνδεση ενεργοποιεί μια καθαρή χειραψία κλεισίματος.

Συμβουλές

  • Χρησιμοποιήστε την ενσωματωμένη προκαθορισμένη ρύθμιση wss://echo.rapidtoolset.com/ws για να επαληθεύσετε ότι το πρόγραμμα περιήγησής σας μπορεί να αποκαταστήσει μια σύνδεση WebSocket. Ο διακομιστής ηχούς επιστρέφει κάθε μήνυμα που στέλνετε.
  • Εάν η σύνδεση παραμείνει στο CONNECTING επ' αόριστον, ένα firewall ή proxy μπορεί να αποκλείει το αίτημα αναβάθμισης WebSocket.
  • wss:// (WebSocket σε TLS) απαιτείται σε σελίδες HTTPS λόγω περιορισμών μικτού περιεχομένου του προγράμματος περιήγησης· οι απλές συνδέσεις ws:// θα αποκλειστούν.
  • Για δοκιμή διακομιστών Socket.IO χρησιμοποιήστε τον Πελάτη Δοκιμής Socket.IO, και για διακομιστές SockJS χρησιμοποιήστε τον Πελάτη Δοκιμής SockJS — και οι δύο χρησιμοποιούν διαφορετικά υποπρωτόκολλα που είναι ασύμβατα με αυτό το εργαλείο.