Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-05-2010, 20: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, 21: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, 21: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, 21: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, 21: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, 21: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 10-05-2010, 00: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, 17: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, 17: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, 19: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, 22: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


Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
Al centro della Via Lattea ci potrebbe e...
Elon Musk ora guarda alla Luna: SpaceX p...
La Cina ha lanciato nuovamente lo spazio...
Blue Origin potrebbe realizzare il lande...
Artemis II: il prossimo Wet Dress Rehear...
Il nuovo HONOR 600 sta arrivando e avr&a...
La crisi delle memorie non coinvolger&ag...
Windows domina su Steam, ma molti utenti...
Per non incorrere in nuovi aumenti delle...
Cubi Z AI 8M visto da vicino, un mini-PC...
Datacenter nello Spazio, affascinante ma...
Social e minori, Butti apre al dibattito...
Tutte le offerte Amazon del weekend, sol...
Amazon spinge sull'usato garantito: 10% ...
TikTok rischia una maxi-multa in Europa:...
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: 02:41.


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