Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Destiny Rising: quando un gioco mobile supera il gioco originale
Destiny Rising: quando un gioco mobile supera il gioco originale
Tra il declino di Destiny 2 e la crisi di Bungie, il nuovo titolo mobile sviluppato da NetEase sorprende per profondità e varietà. Rising offre ciò che il live service di Bungie non riesce più a garantire, riportando i giocatori in un universo coerente. Un confronto che mette in luce i limiti tecnici e strategici dello studio di Bellevue
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo
Plaud Note Pro è un registratore digitale elegante e tascabile con app integrata che semplifica trascrizioni e riepiloghi, offre funzioni avanzate come template e note intelligenti, ma resta vincolato a un piano a pagamento per chi ne fa un uso intensivo
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-05-2010, 19:34   #1
martino.ugolini
Member
 
Iscritto dal: Nov 2009
Messaggi: 43
[c++, ma anche altre lingue] Creare Server e accederci

Salve,

Allora: Io sto pensando di creare (come esercizio personale) un programma chat in c++ console. Il mio problema è che avrò bisogno di un server, col quale quelli che usano il mio programma possano comunicare tramite il server tra di loro. Però io non ho la più pallida idea da dove incominciare:
1. Devo prendere un Computer, installarci sopra Ubuntuserver o simili e tenerlo acceso 24 ore al giorno, o c'è un altro modo???
2. E poi come si ad'accedere con un programma c++ a questo server???

Per favore chiaritemi le idee
martino.ugolini è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2010, 20:09   #2
nuovoUtente86
Senior Member
 
Iscritto dal: Mar 2007
Messaggi: 7863
Quote:
Originariamente inviato da martino.ugolini Guarda i messaggi
Salve,

Allora: Io sto pensando di creare (come esercizio personale) un programma chat in c++ console. Il mio problema è che avrò bisogno di un server, col quale quelli che usano il mio programma possano comunicare tramite il server tra di loro. Però io non ho la più pallida idea da dove incominciare:
1. Devo prendere un Computer, installarci sopra Ubuntuserver o simili e tenerlo acceso 24 ore al giorno, o c'è un altro modo???
2. E poi come si ad'accedere con un programma c++ a questo server???

Per favore chiaritemi le idee
1 Un server spento, evidentemente, non serve a nulla. Per cui se non ti va di basare il progetto su questa archittettura devi cambiarla passando ad un paradigma p2p oppure ibrido.

2 Devi utilizzare i socket, basati presumilmente (ma ciò dipende dalle valutazioni del caso particolare) sul protocollo di trasporto TCP
nuovoUtente86 è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2010, 20:15   #3
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
Devi guardarti i principi di programmazione client-server.

Il server dovrà stare sempre acceso.... questo per forza se vuoi che la chat sia accessibile sempre.

Il server dovrà gestire più connessioni, sarà un server concorrente.

In rete trovi davvero molta documentazione su questo argomento. Quando il server riceve una richiesta di connessione dal client, crea un processo filgio o un thread.
Questo gestirà il dialogo con il client.
Se lo fai in C++, il lavoro è abbastanza facilitato dato che esistono librerie che implementano giù parecchi automatismi.

Per cominciare dai un occhio qui. (è C ma ti spiega bene il principio di funzionamento)
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2010, 20:19   #4
Teo@Unix
Senior Member
 
L'Avatar di Teo@Unix
 
Iscritto dal: Mar 2009
Messaggi: 753
Quote:
Originariamente inviato da nuovoUtente86 Guarda i messaggi
1 Un server spento, evidentemente, non serve a nulla. Per cui se non ti va di basare il progetto su questa archittettura devi cambiarla passando ad un paradigma p2p oppure ibrido.

2 Devi utilizzare i socket, basati presumilmente (ma ciò dipende dalle valutazioni del caso particolare) sul protocollo di trasporto TCP
meglio p2p.
Teo@Unix è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2010, 20:22   #5
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
in alternativa ai socket potresti usare una tecnologia di remoting, che ti semplificherebbe le cose risparmiandoti la progettazione di un protocollo. l'unica tecnologia di remoting decente che io conosca per C++ é COM, ma funziona solo su Windows e se cominci ora ad impararla finirai senza esagerare l'anno prossimo. di conseguenza un'ottima idea potrebbe essere quella di passare a C# e giocare con WCF. altrimenti se tieni alla portabilitá puoi usare Java ed RMI, ma scoprirai che WCF é tutta un'altra cosa.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2010, 20:25   #6
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da Teo@Unix Guarda i messaggi
meglio p2p.
peró é bene fare presente che l'architettura P2P comporta necessariamente l'inserimento da parte dell'utente di indirizzi IP almeno una volta (se speri di ritrovare gli stessi indirizzi anche la volta dopo, altrimenti sempre).

EDIT - inoltre un'architettura P2P é soggetta a limitazioni dovute ai vari tipi di firewall.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 09-05-2010, 23:28   #7
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da fero86 Guarda i messaggi
l'unica tecnologia di remoting decente che io conosca per C++ é COM, ma funziona solo su Windows e se cominci ora ad impararla finirai senza esagerare l'anno prossimo.
Ci sono anche CORBA e ICE, ma ovviamente dato il tenore delle domande direi che sono fuori portata.
ICE (disponibile anche per C# e Java) è probabilmente molto più semplice di COM e CORBA, e ha prestazioni che WPF si sogna
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 10-05-2010, 16:19   #8
martino.ugolini
Member
 
Iscritto dal: Nov 2009
Messaggi: 43
Se si usa il p2p c'è bisogno di un server???
martino.ugolini è offline   Rispondi citando il messaggio o parte di esso
Old 10-05-2010, 16:54   #9
pabloski
Senior Member
 
Iscritto dal: Jan 2008
Messaggi: 8406
Quote:
Originariamente inviato da martino.ugolini Guarda i messaggi
Salve,

Allora: Io sto pensando di creare (come esercizio personale) un programma chat in c++ console. Il mio problema è che avrò bisogno di un server, col quale quelli che usano il mio programma possano comunicare tramite il server tra di loro. Però io non ho la più pallida idea da dove incominciare:
1. Devo prendere un Computer, installarci sopra Ubuntuserver o simili e tenerlo acceso 24 ore al giorno, o c'è un altro modo???
2. E poi come si ad'accedere con un programma c++ a questo server???

Per favore chiaritemi le idee
nel tuo caso il p2p lo sconsiglierei, ti costringe solo ad implementare un sacco di codice per gestire il bootstrapping della rete p2p, peggio ancora se usi un dht

il server può benissimo essere il tuo pc, usi dyndns per collegarlo ad un nome di dominio e il gioco è fatto

per quanto riguarda la chat dipende dal protocollo che vuoi usare....nel 1999 creai un banale programma di chat basato sul protocollo irc e devo dire che è di una semplicità incredibile

tanto per capirci guarda quai http://irchelp.org/irchelp/rfc/chapter4.html#c4_3

come vedi la comunicazione avviene tramite l'invio di banali stringhe di testo contenenti un comando e un certo numero di parametri

per inviare le stringhe usi ovviamente i socket o qualsiasi altro meccanismo di comunicazione via rete ( curl per esempio sarebbe un'ottima scelta )

detto questo per un programma di chat non sei necessariamente vincolato al C++, puoi benissimo usare python ad esempio, così risparmi tempo, bug e puoi metterci pure una bella interfaccia

la cosa si fa più complicata se decidi di infilarci audio e video
pabloski è offline   Rispondi citando il messaggio o parte di esso
Old 10-05-2010, 18:46   #10
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
Quote:
Originariamente inviato da martino.ugolini Guarda i messaggi
Se si usa il p2p c'è bisogno di un server???
questa domanda comporta qualche problema di nozioni di base
io posso anche risponderti, ma una volta che l'ho fatto e che tu hai detto a te stesso "bene, allora creeró un'architettura P2P" che ci hai concluso visto che non sai cos'é un'architettura P2P? la mia risposta é no, non c'é bisogno di un server perché un'architettura P2P é un'architettura che non si basa su un server.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 10-05-2010, 21:55   #11
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Ci sono anche CORBA e ICE, ma ovviamente dato il tenore delle domande direi che sono fuori portata.
ICE (disponibile anche per C# e Java) è probabilmente molto più semplice di COM e CORBA, e ha prestazioni che WPF si sogna
Ice: a framework for middlewares

Togli pure il "probabilmente": è di gran lunga più semplice.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Destiny Rising: quando un gioco mobile supera il gioco originale Destiny Rising: quando un gioco mobile supera il...
Plaud Note Pro convince per qualità e integrazione, ma l’abbonamento resta un ostacolo Plaud Note Pro convince per qualità e int...
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Apple Sports arriva in Italia: l'app gra...
Il CEO di Gearbox ai videogiocatori: Bor...
Samsung Galaxy Watch8 e Watch Ultra in o...
SMIC testa macchinari DUV sviluppati in ...
ReVanced fa marcia indietro ed elimina U...
Google Pixel Watch 3 con un super ribass...
Tornano a 135€ le Squier by Fender Strat...
Samsung userà il suo chip a 2 nm ...
Monitor gaming quasi regalati: i modelli...
Offerte Logitech da urlo su Amazon: cuff...
Reddit cambia le regole di gestione dell...
ASUS annuncia l'arrivo in Italia del mon...
Lava anche con acqua calda, aspira a 10....
La corsa ai 2 nanometri di TSMC: tra i p...
Il migliore dei mini PC economici torna ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:44.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v