C'è qualche vantaggio di avere due connessioni Websocket distinte allo stesso server dallo stesso client? Per me questa sembra una cattiva scelta di design, ma c'è qualche ragione per cui/dove dovrebbe funzionare meglio?Connessioni multiple con socket Web
risposta
Ci sono diversi motivi per cui si potrebbe desiderare di farlo, ma probabilmente non sono troppo comuni (almeno non ancora):
- Hai sia cifrato ed i dati in chiaro che si sta inviando/ricezione (ad es. alcuni dati sono voluminosi ma non sensibili).
- Si dispone di dati di streaming e dati sensibili alla latenza: immagina un gioco interattivo che occasionalmente trasmette video in streaming all'interno del gioco. Non si desidera che i flussi multimediali di grandi dimensioni ritardino la ricezione di messaggi di giochi normali sensibili alla latenza.
- Si dispone di entrambi i messaggi testuali (ad esempio messaggi di controllo JSON) e dati binari (array o blob digitati) e non si vuole preoccupare di aggiungere il proprio livello di protocollo per distinguere poiché WebSockets lo fa già per te.
- Sono disponibili più protocolli secondari WebSocket (l'impostazione facoltativa dopo l'URI) supportati e la pagina desidera accedere a più di una (ciascuna connessione WebSocket è limitata a un singolo sottoprotocollo).
- Sono disponibili diversi servizi WebSocket dietro lo stesso server Web e porta. Il modo in cui il client sceglie per connessione può dipendere dal percorso URI, dallo schema URI (ws o wss), dal sottoprotocollo o forse anche dal primo messaggio da client a server.
Sono sicuro che ci sono altri motivi, ma questo è tutto quello che posso pensare in cima alla mia testa.
+1 Molto informativo! – Jonas
Attualmente sto cercando una soluzione per avere due connessioni allo stesso websocket. La mia ragione:
- ho scritto un banco di prova in QUnit e voglio simulare più client e controllare i diversi clienti per le risposte corrette
ho scoperto che si può fare la logica client molto più semplice quando si si stanno iscrivendo solo agli aggiornamenti di determinati oggetti gestiti dal server. Invece di ideare un protocollo di abbonamento personalizzato per un singolo canale, puoi semplicemente aprire un socket per ciascun elemento.
Diciamo che si è ottenuto un insieme di elementi tramite un API REST a
http://myserver/api/some-elements
Si potrebbe sottoscrivere gli aggiornamenti di un singolo elemento utilizzando un URL presa come questo:
ws://myserver/api/some-elements/42/updates
Naturalmente uno può sostenere che questo non è in scala per le pagine complesse. Tuttavia, per piccole e semplici appicazioni, potrebbe rendere la tua vita molto più semplice.
- 1. Connessioni multiple sullo stesso socket della porta C++
- 2. Connessioni prese multiple
- 3. Mongoose connessioni multiple
- 4. H2 Database connessioni multiple
- 5. Corrispondenza ArrayList tra connessioni socket
- 6. Connessioni BLE multiple che utilizzano Linux e Bluez 5.0
- 7. Symfony2 MongoDB Errore di connessioni multiple
- 8. Connessioni multiple (asincrone) con urllib2 o altra libreria http?
- 9. Impostazione massimo di connessioni per il web
- 10. Debug Web Socket Web di Web Inspector Debug
- 11. PHP Socket Server vs node.js: Web Chat
- 12. Web socket in Yesod?
- 13. web socket con scalabilità di bilanciamento del carico
- 14. Chiudi connessione web socket con Java
- 15. Le web socket funzionano con SPDY?
- 16. Ajax contro socket Web contro Web Workers
- 17. Play2 crea client web socket
- 18. Creazione di un socket limitato alle sole connessioni localhost
- 19. Apache HttpClient Connessioni di polling multiple alla strategia del server
- 20. node.js + socket.io + architettura redis - connessioni socket servercaling orizzontali?
- 21. Mongoose.js crea connessioni multiple a MongoDB da un connect() chiamare
- 22. Port forwarding in python per consentire connessioni socket
- 23. attore libcppa che genera attori su connessioni socket
- 24. Connessioni web part nelle definizioni del sito
- 25. Le web socket sono adatte all'uso con PHP?
- 26. Web socket con socket.io su AWS Elastic Beanstalk
- 27. Release Phoenix EXRM Web socket non funzionanti
- 28. Web socket più veloci di WebRTC?
- 29. Task.StartNew() vs Parallel.ForEach: scenario Richieste Web multiple
- 30. Servizi WebSocket Android che effettuano più connessioni
Anche il REQUEST_URI è lo stesso? –
@Shiplu Hmm. Uno non dovrebbe trasmettere informazioni via uri poiché è fatto solo una volta. In questo caso, diciamo ** sì **. – Christian
Può l'elettore chiudere per favore spiegare perché? ** Perché esattamente la mia domanda non è costruttiva? ** – Christian