Sarà DataSnap essere adatto per un massimo di 8 mancata comunicazione intensiva gioco multiplayer bidirezionale?

StackOverflow https://stackoverflow.com/questions/1836204

Domanda

Sto costruendo un piccolo multipliplayer che avrà bisogno il seguente:

  • deve essere scritto in Delphi
  • deve supportare la connessione a Internet (non solo LAN)
  • lavoro su HTTP
  • supporta alcuni crittografia dei pacchetti (può essere personalizzato)
  • essere in grado di inviare comandi al server
  • essere in grado di ricevere risposte dal server
  • essere in grado di collegare fino a 8 giocatori a un server
  • essere in grado di passare oggetti complessi (forse JSON serializzato) ai server

Pensi che il nuovo Delphi 2010 DataSnap può essere utilizzato con successo in questo scenario o devo andare con il vecchio TSocket pianura?

È stato utile?

Soluzione

DataSnap può fare tutto quello che hai elencato sopra:

  1. DataSnap è scritto in Delphi.
  2. Può collegarsi tramite HTTP su qualsiasi connessione, la rete locale o remota.
  3. Si lavorerà su HTTP, incluso il supporto per il tunneling della connessione HTTP
  4. È possibile filtrare il flusso di dati come più vi piace. Il prodotto include un filtro di compressione. Daniele Teti ha scritto alcune molto bello filtri di crittografia .
  5. È possibile inviare comandi al server chiamando i metodi del server
  6. È possibile ricevere una risposta dal server tramite callback del server
  7. È possibile collegare facilmente otto persone a un server
  8. È possibile passare oggetti JSON. Questo è il tipo predefinito inviate tra client e server.

Quindi, per rispondere alla tua domanda, sì, credo che il nuovo Delphi 2010 DataSnap può essere utilizzato nel vostro scenario.

Altri suggerimenti

Come ha detto Nick, la risposta è sì.

Bob Swart ha scritto un white paper e prodotto alcuni video sul aggiornato DataSnap in Delphi 2010 che può aiutarti ad iniziare.

Se il gioco multiplayer non invia più dati HTTP e DataSnap può funzionare. Se avete bisogno di una comunicazione veloce, mi piacerebbe utilizzare UDP e il protocollo binario personalizzato. A meno che non si deve escludere un firewall aziendale che si ferma quasi qualsiasi protocollo HTTP, ma - e le aziende di solito non piace la gente che giocano nel loro orario di lavoro - una connessione in entrata firewall blocca, non in uscita. Proprio il server deve aprire le porte per consentire ai client di connettersi. E Eviterei JSON, come pure - se non hai bisogno di interoperabilità una serializzazione binaria è molto più veloce.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top