ciao a tutti ragazzuoli, ho bisogno di alcune spiegazioni per delle cose che non riesco a capire ( o non riesco a decidere come fare )
Sto sviluppando un videogioco con una componente online Client-Server.
* Client sviluppato con GMS 1.4.9999
* Server sviluppato in C# con il framework .net 4.7.qualcosa
Diciamo che non ho mai avuto un esperienza con i Socket e sto studiando tutto per la prima volta, ma ho un infarinatura base sulle comunicazioni client-server e ho avuto esperienze con porte COM per intenderci.
Per ora sono riuscito a tirare su client e server sparando messaggi di echo a caso e rispondendo in modo altrettanto casuale. Qui di seguito le prime perplessità
1) vorrei tirar su un interfaccia comune, quindi standardizzare il messaggio. Speravo in un modello serializzabile e quindi un json
* In C# non ho problemi, mi sembra anche un approccio abbastanza standard
* In GML metodi di decode/encode di JSON li ho trovati ma passano per la creazione di varie ds_map, che per modelli complessi equivale a ds_map annidate, mi sembra tutto molto pesante
la domanda è: conviene incapsulare il messaggio da passare in un formato come il json o conviene inventarsi una codifica compressa in una stringa ( old style per intendersi, con caratteri separatori e totale riduzione delle informazioni ) perdendo la serializzazione dell'informazione ma ( presumo ) migliorando le performance dell client?
2) in un ottica client-server ho capito che il client al primo accesso deve "autenticarsi" fornendo le proprie credenziali di accesso, in modo che il server gli possa generare un client_id con cui poi il client riesce a definire la sua identità in modo univoco.
La domanda è: devo ragionare in un ottica "stateless" quindi ad ogni messaggio che invio di devo incapsulare sempre le credenziali di autenticazione in modo da proteggere il messaggio e determinare chi è oppure basta il client_id?
3) sicurezza: devo implementare qualcosa per gestire la sicurezza tra sockets? se il primo messaggio contiene username e password come proteggo queste informazioni assolutamente sensibili per creare una connessione sicura oppure è già sicura in quanto l'architettura su cui si basa i sockets lo è... a differenza per esempio di una chiamata GET Http?
Grazie mille in anticipo
Alcuni dubbi sul Networking Client-Server
- nightwish88
- GMI Advanced
- Messaggi: 1739
- Iscritto il: 18/01/2009, 13:41
- Contatta:
Chi c’è in linea
Visitano il forum: Nessuno e 156 ospiti