Czy istnieją zalety posiadania dwóch różnych połączeń websocket do tego samego serwera od tego samego klienta? Dla mnie wydaje się to złym wyborem projektu, ale czy istnieje jakikolwiek powód, dla którego/gdzie powinien on działać lepiej?Wiele połączeń z siecią WWW
Odpowiedz
Istnieje kilka powodów, dlaczego może chcą zrobić, ale prawdopodobnie nie są zbyt często (przynajmniej jeszcze nie):
- masz zarówno szyfrowane i nieszyfrowane dane, które wysyłasz/odbieranie (np. niektóre dane są nieporęczne, ale nie są wrażliwe).
- Masz dane transmisji strumieniowej i wrażliwości na opóźnienia: wyobraź sobie interaktywną grę, która czasami przesyłała strumieniowo wideo w grze. Nie chcesz, aby duże strumienie multimediów opóźniały odbiór normalnych komunikatów o wrażliwości na opóźnienia.
- Masz zarówno tekstowych (na przykład komunikaty kontrolne JSON) oraz dane binarne (wpisywanych tablic lub Blobs) i nie chcą zajmować się dodając własne warstwy protokołu do odróżnienia od WebSocket już robi to za ciebie.
- mieć wiele websocket sub-protokoły (opcjonalne ustawienie po URI), które wspierają i strona chce uzyskać dostęp do więcej niż jednego (każde połączenie websocket jest ograniczona do jednego sub-protocol).
- Masz kilka różnych usług WebSocket znajdujących się za tym samym serwerem WWW i portem. Sposób, w jaki klient wybiera połączenie, może zależeć od ścieżki URI, schematu URI (ws lub wss), pod-protokołu, a może nawet od pierwszej wiadomości od klienta do serwera.
Jestem pewien, że istnieją inne powody, ale to wszystko, co mogę myśleć z góry mojej głowy.
+1 Bardzo pouczające! – Jonas
Obecnie szukam rozwiązania dla dwóch połączeń z tym samym websem. Mój powód:
- napisałem przypadek testowy w QUnit i chcę symulować wielu klientów i sprawdzić różnych klientów do poprawnych odpowiedzi
stwierdziliśmy, że może to zrobić logiki klienta znacznie prostsze, kiedy subskrybują tylko aktualizacje niektórych obiektów zarządzanych przez serwer. Zamiast opracowywać niestandardowy protokół subskrypcji dla pojedynczego kanału, wystarczy otworzyć gniazdo dla każdego elementu.
Powiedzmy, że uzyskuje się zbiór elementów za pomocą REST API w
http://myserver/api/some-elements
Można zapisać się do aktualizacji jednego elementu przy użyciu adresu URL gniazdo tak:
ws://myserver/api/some-elements/42/updates
Oczywiście jednym może argumentować, że nie jest to skalowalne dla złożonych stron. Jednak w przypadku małych i prostych aplikacji może to znacznie ułatwić życie.
- 1. Wiele połączeń z gniazdami
- 2. Wiele połączeń w Codeigniter
- 3. Yii wiele połączeń z bazami danych
- 4. Wiele zmiennych połączeń z Propelem i Symfony2
- 5. Wiosna DriverManagerDataSource otwiera wiele połączeń?
- 6. Test jednostek TestContext Wiele połączeń
- 7. R - zespół z siecią neuronową?
- 8. Rój dokerów z niestandardową siecią
- 9. Funkcja aproksymująca z siecią neuronową
- 10. wiele połączeń z bazą danych z has_many przez
- 11. Jak obsłużyć wiele połączeń sieciowych w Alamofire
- 12. Wiele połączeń Row_Number() w pojedynczym zapytaniu SQL
- 13. Mockito: wiele połączeń do tej samej metody
- 14. Dlaczego otrzymuję wiele połączeń dla pojedynczego przedmiotu?
- 15. Wiele połączeń socket.io na tej samej stronie
- 16. Wiele jednoczesnych połączeń sieciowych - serwer Telnet, Python
- 17. ViewPatterns i wiele połączeń w Haskell
- 18. ASP.NET MVC. Autofac i wiele ciągów połączeń
- 19. PHP/MYSQL - Wiele połączeń z tą samą bazą danych?
- 20. Wiele połączeń z żądaniem Alamofire, uzyskaj referencje dla każdego połączenia
- 21. Zwiększanie asio - wiele połączeń klientów z różnymi serwerami
- 22. zabaw testy z bazy danych: „Zbyt wiele połączeń”
- 23. Zapobiegaj nawiązywaniu połączeń z serwisem zbyt wiele razy
- 24. Mongoose.js tworzy wiele połączeń do MongoDB z jednej connect() zadzwonić
- 25. Wiele połączeń z wyszydzaną metodą Rhino zwraca różne wyniki
- 26. JavaScriptInterface w Androidzie WebView: wiele połączeń z JS powoduje impas
- 27. Jak wykryć wiele połączeń socket.io z tego samego użytkownika?
- 28. Wiele połączeń z bazami danych i Yii 2.0
- 29. Niezawodne wykrywanie stanu połączenia z siecią WebSocket
- 30. TimeOut dla połączenia z siecią Web Scala
Czy REQUEST_URI to samo? –
@Shiplu Hmm. Nie należy przekazywać informacji za pośrednictwem URI, ponieważ jest to wykonywane tylko raz. W takim przypadku powiedzmy "tak". – Christian
Czy zbliżający się wyborca może wyjaśnić, dlaczego? ** Dlaczego moje pytanie nie jest konstruktywne? ** – Christian