Italian Questo dovrei metterlo in una CHIT-CHAT italiana

LucaMs

Expert
Licensed User
Longtime User
A questo punto, prima di riprendere dal punto di partenza (XAMPP) direi che mi conviene tentare ancora qualche giorno con i WebSocket ed il server B4J e, se trovo grossi intoppi, tornare qui, dove trovo sicuramente esperti del "trio" gentili e disponibili come voi.

Grazie ancora.
 

LucaMs

Expert
Licensed User
Longtime User
Aggiornamento.

Sono riuscito a fare un minimo con un server B4J. Solo l'autenticazione di un utente, niente di che, ma almeno adesso so come usare i WebSocket.

Certo mi rimane in mente il grosso tarlo che, una volta sviluppato tutto in questo modo, dovrò trovare un sito con VPS, non certo gratuito o economico.

Stavo pensando di chiedere ad alcuni di voi di fare una piccola prova col "trio" (Apache-PHP-MySQL) ma mi rendo conto che sarebbe chiedervi troppo!

Se però aveste già una qualche piccola prova vostra, fatta in passato, anche per vedere come la "inviereste" ad un servizio di hosting, l'accetterei molto volentieri (non dimenticate che non mastico PHP, l'ho appena assaggiato ;)).

Anche perché, la logica dovrò sicuramente creare con qualche strumento grafico, tipo UML, altrimenti mi ci perdo; per cui, una volta creato uno o più diagrammi, passare da B4j-server al trio, potrebbe essere meno catastrofico.
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Secondo me ti conviene iniziare con un sistema semplice ma soprattutto economico.
Potresti infatti aprire uno spazio web su un server gratuito (ad esempio it.altervista.org ) dove ti danno gratuitamente a disposizione Apache, PHP e MySQL.
Se il tuo gioco è a turni, hai il vantaggio che l'utente deve prima aspettare che finisca il turno dell'altra persona, e quindi puoi gestire il tutto in PHP e MySQL.
Quando il giocatore decide la mossa, chiama una pagina PHP che elabora il tutto, ed aggiorna su MySQL i dati relativi alla mossa che l'utente ha fatto, decide quale prossimo utente dovrà fare la mossa, e il timeout che gli viene dato a disposizione.
Gli altri utenti, ad esempio ogni 3 secondi, interrogano un'altra pagina in PHP dove gli viene costantemente aggiornato lo stato del gioco, l'utente che in quel momento sta giocando, quanto tempo ha ancora a disposizione, eccetera eccetera.
Quando l'utente avrà fatto la sua mossa e il prossimo a muovere sono io, alla prima chiamata a questa pagina PHP, mi verrà risposto che tocca a me, quanto tempo ho a disposizione eccetera eccetera, e quindi il programma in B4A abilita la mossa all'utente e quando l'utente l'ha eseguita, chiama una pagina PHP dicendogli quale mossa ha fatto in modo che il programma elabori il tutto e decida cosa fare.

Ovviamente puoi anche avere un server tuo dedicato, non importa quale linguaggio, però deve rimanere acceso 24 ore su 24, ha un certo costo, devi avere un IP fisso (o meglio ancora un dominio registrato) e quindi cominicamo a parlare di altri costi.

Ovviamente il mio è solo un punto di vista

Sergio


Questo meriterebbe più "Like"s ma non posso metterne ;)
 

LucaMs

Expert
Licensed User
Longtime User
Sto dando un'occhiata a it.altervista.org.

Ti propone di costruirti un sito, un blog. Chiaramente io avrei bisogno di un "sito senza pagine! (visibili)".

Mah, vediamo se trovo altre informazioni utili, navigandoci.
 

sirjo66

Well-Known Member
Licensed User
Longtime User
Su altervista.org apri il sito, ma utilizzi poi solo MySQL e PHP, nessuna pagina, io almeno ho fatto così
 

LucaMs

Expert
Licensed User
Longtime User
Certo... a impazzire :confused: :D

Sono molto indeciso; passo dai tentativi di creare il Server a quelli di creare il Client, per "distrarmi".

Avevo preso la decisione di utilizzare i server B4J con i Websocket, tentando di evitare in ogni modo Java e Javascript.

Poi mi è venuto in mente che avrei potuto sfruttare Visual Studio - VB.Net, che conoscEVO molto meglio. Così ho avuto la bella idea di installare IIS (usato poco molti anni fa ma ricordo che era semplice). Ho anche eseguito tutti gli aggiornamenti pendenti di Windows (non li lascio in automatico).

Dopodiché, sprecata un'altra oretta sul Web per scoprire che su Windows 7 (ed il Framework Net 4.51) i WebSocket non sono supportati, serve Windows 8 (pensare ho comprato il portatile circa un paio di anni fà e c'era l'offerta di aggiornare il S.O. alla versione 8 per 39€, mi pare, ma non ho voluto fare casini né spendere di più!).

Affrontare Apache-PHP-MySQL mi sembra un rischio; nel senso che ne conosco troppo poco, non vorrei ritrovarmi alla fine a dover ricominciare da capo.
Però è anche vero che trovrerei subito qualche hosting gratuito, mentre se uso i server B4J dovrò trovare un host con VPS che come minimo richiede un mensile di diversi euro.

Quindi ho deciso di sospendere la faccenda server, occuparmi del client, simulando chiamate dal server (in questo caso sarebbe B4J, perché, da quanto ho capito, nel caso del "trio", dovrei mettere in ascolto il client in continuazione con un timer, per ricevere dati dal server Apache-PHP. Ho letto che proprio per questo motivo sono stati creati i WebSocket, per evitare quello polling continuo, come lo chiamano).

Insomma, non sono all'inizio, ma quasi.

Ho preparato qualche documento descrittivo delle fasi di gioco, qualche diagramma, una buona parte della grafica "simulata" (cioè solo disegnata, per capire dove mettere ogni oggetto) e sto iniziando la grafica "vera".

Certo che spesso gli dedico poco tempo, mi deprime il pensiero di trovarmi ad un certo punto con l'mpossibilità (per qualche motivo) di completare il tutto.

Intanto, ti ringrazio per l'interessamento.

Poi, se tu hai tempo, potresti fare anche tu qualche esperimento col "trio", perché non importa quale sia il gioco, la struttura ti rimane e quindi, se trovi tu questa soluzione magari potresti pubblicarla qui per tutti noi; se la trovo io con B4J, altrettanto.

Ciao
 

sirjo66

Well-Known Member
Licensed User
Longtime User
Ciao Luca,
io sinceramente di giochi non ne ho mai fatti, io sviluppo solo gestionali e programmi speciali.
Attualmente sto realizzando un programma che utilizza proprio il "trio", mandando delle richieste GET tramite Http e ricevendo in formato JSON i dati richiesti.
Potrei aiutarti un po' con il PHP, ma dovresti almeno aprire uno spazio web, creare il database e le tabelle relative, darmi un po' di informazioni sulla logica di estrazione dati eccetera.
Il PHP non è difficile, è come il linguaggio C.

Sergio
 

LucaMs

Expert
Licensed User
Longtime User
Anche per me è il primo gioco; come te, più che altro gestionali, personalizzazioni di gestionali già noti, etc.

Non voglio disturbarti, anche perché, come ho detto, per il momento vado avanti con il gioco sul client.
Poi terrò in forte considerazione questo tuo suggerimento e la tua gentile offerta di aiuto.


Grazie mille
 

coslad

Well-Known Member
Licensed User
Longtime User
buonasera a tutti,

io per un applicazione differente sto incontrando gli stessi ostacoli di LucaMs ( ma Ms stà per la marca di sigarette ?) , il php può essere una soluzione solo perchè altervista regala dello spazio web,ma per un applicazione seria anche l' uso del php non è gratuito.
Allora perchè non usare per scrivere il server proprio b4a, si potebbe all ' inizio usare uno smartphone in disuso per far girare il server,perchè puntare su b4j ?
Vi prego di correggermi se sbaglio .
 

LucaMs

Expert
Licensed User
Longtime User
Beh, si sbagli, perché l'obiettivo sarebbe far girare l'app sui dispositivi, sperando che essi siano almeno mezzo miliardo :)D) e connetterli tra loro tramite un server.

Il server non deve essere sviluppato necessariamente con B4J ma data la somiglianza B4A-B4J e dato che il compilato B4J può girare su qualunque piattaforma che supporti Java, è l'ideale.
 

coslad

Well-Known Member
Licensed User
Longtime User
Quindi la discriminante è il numero di utenti? Volendo stare su i costi però b4a può girare anche su una pennetta Android da 50 euro, mentre per b4j si necessita di un VPS oppure di un proprio PC sempre acceso. Leggevo che b4j può girare anche sul raspberry pi , però sembra che giri lento, avete esperienze dirette in merito?
 

udg

Expert
Licensed User
Longtime User
In merito all'utilizzo di B4J con Raspberry posso dire di non aver notato particolari rallentamenti, ma è anche vero che per ora l'ho utilizzato solo su WLAN come test-bed di nuovi servizi, quindi in pratica con il Raspi mi collego solo io dall'interno della stessa rete.
Trovo B4J un ottimo prodotto, flessibile e di immediato utilizzo (almeno come back-end e webserver di pagine html/css); non mi sono avventurato troppo sulla parte UI (fx scene builder) perchè non mi occorreva, ma la sensazione è che si riesca ad imbastire un po' di tutto con una certa facilità.

udg
 

LucaMs

Expert
Licensed User
Longtime User
Quindi la discriminante è il numero di utenti? Volendo stare su i costi però b4a può girare anche su una pennetta Android da 50 euro, mentre per b4j si necessita di un VPS oppure di un proprio PC sempre acceso. Leggevo che b4j può girare anche sul raspberry pi , però sembra che giri lento, avete esperienze dirette in merito?

Che significa: "B4A può girare su una pennetta"?

Tramite l'ambiente B4A tu crei un apk che dovrà girare su un sistema Android, eventualmente quello potrà fare da webserver, ma non mi sembra il caso.

Certo che se poi il server dovrà essere utilizzato solo in una rete locale con pochi client, potrebbe anche funzionare l'idea di metterlo su uno smartphone.
 

coslad

Well-Known Member
Licensed User
Longtime User
Per "B4A può girare su una pennetta" intendevo proprio il fatto che android gira anche su dispositivi a basso costo con processore discretamente potenti .

Perché ogni connessione con un server deve essere "Web server"?

Non mi sembra che creare un applicazione android (non web server, no html )che faccia da arbitro fra le chiamate dei vari client tramite socket tcp sia meno performante.
Poi se devi gestire mezzo milione di client......
Dipende sempre da quello che devi realizzare, nella fattispecie io devo realizzare un applicazione per un azienda (coreana che produce telefoni) per la gestione di alcuni flussi interni e per privacy non possono appoggiare questi dati su un server esterno ne tantomeno sempre per la presenza massiccia di blocchi e firewall non si puo' sfruttare un pc interno ,allora ho pensato ad utilizzare android come server.
Se mi consigli di provare direttamente con B4J e il raspberry , accetto il consiglio e non perdo tempo , solo che la vedo un po' piu' ostica la cosa , soprattutto perché Erel nella presentazione del connubio fra B4J e RB ha scritto che le performance sono un pò basse.

Inoltre volendo ascoltare il tuo consiglio del web server , potresti essere piu' preciso ?

Considera che il server dovrebbe inviare informazioni a i client , e non e' il caso che il client effettui richieste in polling .

Grazie
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Beh, io sono tutt'altro che esperto, a dispetto della qualifica acquisita qui, dovuta alle migliaia di risposte date, ormai.

Sto iniziando (veramente è oltre un mese, ma gli dedico poco tempo e cervello) un "lavoro" con un server B4J e client B4A, SENZA HTML, PHP, JAVASCRIPT, ETC.

Niente raspberry perché so a malapena cosa sia e non mi serve.

Quindi si, ti consiglierei B4J; puoi creare facilmente un server con i tanti esempi di Erel. Inoltre, se i client non sono centinaia e continuamente connessi, basta un pc di fascia bassa per ospitarlo.
 
Top