Qualunque svantaggio nell'usare websockets per app client non web?

4

questo è il mio primo post qui. Mi chiedo se ci sia qualche svantaggio nell'usare websockets come metodo di comunicazione per un'applicazione client non basata sul Web per connettersi a un server?

Sto guardando la progettazione di un gioco a turni, utilizzando un approccio client-server. Mi piacerebbe progettare il server di gioco in modo che diversi tipi di client possano connettersi ad esso. Alcuni potrebbero essere basati sul web (nel qual caso un websocket sembra l'ideale); tuttavia, altri potrebbero non essere basati su browser. Se potessi usare websockets per tutti loro, penserei che potrebbe semplificare l'implementazione lato server.

Tuttavia, ci devono essere alcuni aspetti negativi nell'usare i websocket, altrimenti ogni applicazione client-server li userebbe, giusto?

(btw, sto progettando di implementare il server in Java)

    
posta Time4Tea 31.01.2018 - 23:03
fonte

1 risposta

2

Mentre websockets è un protocollo molto conveniente da utilizzare per tutti i tipi di client connessi a Internet, ci sono potenziali svantaggi quando sono coinvolti client non Web, in base alla disponibilità di librerie di comunicazione adeguate. Almeno quando alcuni client si basano sui browser Web, come per la convenienza della programmazione Web aggiunta, potresti voler utilizzare un protocollo come Socket.IO in cima alla comunicazione websocket.

Si afferma che si intende implementare il server in Java, ma non si menzionano su quali piattaforme potrebbero essere implementati i client non Web. Prima di decidere sul protocollo, dovresti provare a definire gli ambienti di programmazione più probabili per i client e verificare la disponibilità delle librerie client che funzionano con le librerie del server previste.

Ad esempio, .NET ha le librerie client SignalR protette da Microsoft, ma non esiste un server SignalR per Java . E mentre ci sono i server Socket.IO per Java, i client esistenti per .NET potrebbero non essere abbastanza stabili. La libreria client attualmente scaricata da NuGet è SocketIoClientDotNet con la dichiarazione di non responsabilità "Questa libreria funziona. incidenti in cui si blocca (anche se non sono mai riuscito a riprodurli). " nella sua pagina GitHub. Altri ambienti potrebbero avere una disponibilità di libreria ancora più limitata.

Pertanto, la risposta è che potrebbero esserci degli svantaggi, ma solo per determinate combinazioni di piattaforme server e client.

    
risposta data 06.12.2018 - 10:58
fonte

Leggi altre domande sui tag