PDA

Visualizza la versione completa : Interazione tra utenti


giskard
17-09-2002, 15:48
Sono un programmatore di lunga data, ma ho sempre sviluppato in locale, e mi vorrei sbizzarrire a creare un gioco a turni in cui gli utenti si confrontano online (tipo scacchi, dama, otello ecc... per interderci)

Quale linguaggio mi consigliate? Quale metodologia? Socket? Che tipo di spazio web devo prendere (o eventualmente acquistare).

Conosco bene PHP, un poco di JAVA e quasi zero C,ma tutto si impara quando programmi da tanto tempo. (mi rifuto a priori di usare basic o ASP).

Ciao a tutti e grazie

Riccardo

giskard
17-09-2002, 16:45
Nessuno?


:(


Ric

Delas
17-09-2002, 16:52
allora... non ho ben capito cosa vuoi fare...
:master:

puoi scegliere di utilizzare un server centrale e lavorare di html opure puoi realizzare un'applicazione server e una client.. sono cose ben distinte e nei linguaggi che hai menzionati si può fare in entrambi i metodi. credo il modo migliore sia fare un'applicazione "desktop" (quindi un server e un client)... lo puoi fare in java ma credo sia meglio scegliere c o simili...
per il protocollo da usare: allora, io programmo qualcosa in vb e utilizzo winsock. devo dire che mi trovo molto bene e io lo trovo molto semplice da usare...

ah, io programmo sia in asp che php: fai bene a non imparare asp :D
cmq se conosci il php, dovresti essere in grado di farlo...
...continuo a non capire...
:master:

giskard
17-09-2002, 17:03
Mi pare che hai capito abbastanza bene quello che volevo dire ( :) ).

Avevo pensato anche io ad una realizzazione in PHP, ma mi sembra un pochino carente dal punto di vista grafico... una applicazione desktop mi piacerebbe di più, ma ovviamente c'e' bisogno di un server centrale che guidi il tutto... e a questo punto che sorge la mia totale ignoranza... come lo scrivo (in che linguaggio) e a che tipo di server mi devo appoggiare?

A pelle avevo pensato al Java... ma conoscendolo poco... una Servlet?

Dici che si può fare anche in C... tramite socket?

Come avrete capito ho un po' di oscurità sul tema della comunicazione diretta tra PC e server, soprattutto quando il server deve dire qualcosa ad un PC che non ha chiesto nulla (tipo "questa è la nuova situazione della scacchiera, ora tocca a te" con conseguente attivazione delle funzionalità).

Scusa se sono ancora ermetico

Riccardo

Delas
17-09-2002, 17:15
qui andiamo sul complicato e non so risponderti bene...
:)

quello che ti posso dire, semplicemente, è che ti conviene fare un server e un client che andranno sui pc dei due giocatori. fare un server che smisti tutti i client credo sia abb complicato... metti il server in ascolto e "ordini" al client di inserire l'IP del server... credo sia una soluzione ottimale per facilità/risultato...
:ciauz:

ChReAn
17-09-2002, 18:05
Secondo me, e sottolineo il secondo me, per una cosa come quella che ti proponi i linguaggi piu' indicati sarebbero C/C++ e Java.
Il server lo scriverei in C, magari sotto server *NIX, sfruttando le socket lo metterei in ascolto su una porta scelta da te (che so, la 33333 per dirne una).
A quel punto scriverei un client java che vada a comunicare sulla porta 33333 (o chi per lei) col server.
Perche' java e non c? Perche' creare un'interfaccia grafica in C/C++ ti lega a un framework specifico, sia esso OWL o MFC o altri ancora.
Ovviamente c'e' anche l'opzione Delphi per il client.
Per quanto riguarda l'aggiornamento dei dati in tempo reale, la cosa si fa complicata e credo si possa gestire in diversi modi.
Molto probabilmente potresti riuscire a forzare l'aggiornamento della scacchiera o del campo da gioco direttamente da server.
Il server "ascolta" un client, e quando il client gli passa i dati sulle mosse effettuate il server va a comunicare col client dicendogli di aggiornare il suo stato.
Oppure si puo' temporizzare il client e fargli controllare un flag ogni x secondi. Se quel flag cambia, gli si fa rileggere lo stato del gioco.
Idee e suggerimenti ce ne sarebbero migliaia, ma un buon libro di Java e uno di C (e buona documentazione sui socket) farebbero al caso tuo.
Buona fortuna. :)

giskard
18-09-2002, 09:23
Grazie veramente...

Ieri ho acquistato un libroNE di java e ho iniziato l'avventura... appena ottengo qualcosa di osservabile vi faccio sapere.

Riccardo

Loading