ბრაუზერის WebSocket API-ს აქვს send(). ის არ ამხელს ზოგად ping() მეთოდს, რომ JavaScript-მა შეძლოს პროტოკოლის Ping კადრების გაგზავნა.

თუ თქვენი აპლიკაცია აგზავნის ტექსტურ შეტყობინებას, როგორიცაა {"type":"heartbeat"}, ეს აპლიკაციური მონაცემია. სერვერმა უნდა გაიგოს შეტყობინება და განსაზღვროს პასუხი. სერვერი, რომელიც ამ ხელშეკრულებას არ ახორციელებს, ვალდებული არ არის უპასუხოს პროტოკოლური Pong-ით მხოლოდ იმიტომ, რომ ტექსტში სიტყვა ping არის.

განსაზღვრეთ, რას ნიშნავს დადასტურება, როგორ იდენტიფიცირებს ის მოლოდინში მყოფ გულისცემას და როდის არის ძველი დადასტურება ძალიან გვიან. ეს გამოყავით ბიზნეს ოპერაციის დადასტურებისგან.

JavaScript-ის ტაიმერსაც აქვს დაგეგმვის შეზღუდვები. ფონური ჩანართები და დაკავებული მთავარი ნაკადები შეიძლება აყოვნებდეს გამოძახებებს. არ განმარტოთ გამოტოვებული ზუსტი ტაიმერის საზღვარი როგორც გადამწყვეტი მტკიცებულება, რომ პროქსიმ გადაცემა შეწყვიტა.

ბრაუზერს შეუძლია პროტოკოლის საკონტროლო კადრების შიდა დამუშავება, მაგრამ ეს აპლიკაციურ კოდს არ აძლევს ყოველი Ping ან Pong-ის გადატანად შედეგს. თუ გვერდს საკუთარი სიცოცხლისუნარიანობის გადაწყვეტილება სჭირდება, გამოიყენეთ მკაფიო აპლიკაციური ხელშეკრულება და აღდგენის პოლიტიკა.

სოკეტი, რომლის readyState არის OPEN, ლოკალურად ითვლება ღიად; ეს არ არის დამოუკიდებელი გაზომვა იმისა, რომ შორეულმა აპლიკაციამ თქვენი ბოლო შეტყობინება დაამუშავა. გამოიყენეთ ის მტკიცებულება, რომელიც შეესაბამება კითხვას, რომელზეც რეალურად უნდა უპასუხოთ.

დაკავშირებული სტატიები