|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Apr 2010
Messaggi: 6
|
Problema col socket su windows
Ciao a tutti
Sono un uovo utente, mi presento sono papizansky. Vi scrivo perchè ho veramente bisogno di alcune dritte su un progetto che devo fare. Realizzare un sistema di prenotazioni di biglietti aerei: un server pubblica un insieme di partenze (partenza, destinazione, data). Diversi client si connettono e fanno le prenotazioni di un biglietto alla volta. Se il biglietto non viene confermato la prenotazione scade dopo X (scegliete voi) secondi e cancellata dagli elenchi del server altrimenti il biglietto diventa non piu' disponibile per gli altri client. 1 biglietto non puo' essere prenotato da 2 o piu' client nello stesso momento. Adesso per la creazione di una semplice comunicazione tra un client e u server sono riuscito a implementarli ma nn li posso mettere in comunicazione perche nn dispongo di due pc. il mio problema piu grande è come inserisco una lista di pseudo voli all'interno del server in modo tale che mettendolo in ascolto i vari client possano prenotare il volo.I voli devono avere [(partenza, destinazione, data)]. Poi ci sarebbe il problema della collisione, ma questa è una cosa che con un po di tempo riusciro a fare. grazie anticipatamente. naturalemte avendo letto il forum nn voglio la soluzione del progetto, ma cnhe qualche link su come poter risolvere il mio problema ecco, o quelche dritta. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
a parte che non si capisce cosa stai cercando e di nemmeno cosa hai bisogno...
con che linguaggi lavori ? cosa stai realizzando ? web service / applicazione server / applicazione server-client ... la domanda fondamentale è ... perchè ? |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
Puoi utilizzare software di virtualizzazione visto che non hai a disposizione 2 computer, ti installi sulla macchina virtuale un sistema operativo , avvi il tuo server , e lo fai comunicare col tuo client.
Prova a dare un occhiata a VirtualBox , VirtualPC o VmWare
__________________
I robot hanno scintillanti fondoschiena metallici che non dovrebbero essere baciati. |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
Quote:
|
|
![]() |
![]() |
![]() |
#5 | ||
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
Quote:
Quote:
|
||
![]() |
![]() |
![]() |
#6 |
Junior Member
Iscritto dal: Apr 2010
Messaggi: 6
|
Avete ragione scusatemi.
Allora devo realizzare il progetto per il professore, su C++. E' un applicazione client-server. Il fatto che di informatica ho solo i concetti base fatti al primo anno di ingegneria quindi sto cercando di farmi da auto didatta, ma nn grandi risultati. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
quindi vuoi una sorta di applicazione ?
perchè la situazione, a mio parere, si prestava di più per un servizio/applicazione web... |
![]() |
![]() |
![]() |
#8 |
Junior Member
Iscritto dal: Apr 2010
Messaggi: 6
|
Lui mi ha detto che posso svolgerlo a mio piacere.
Ma per quello che abbiamo fatto a lezione credo richiedesse una cosa ddel tipo client server. Il fatto prencipale è che la materia C++ nn è fondamentale nel mio corso di studi, lo è di piu java, quindi oltre che capire cosa fare sto cercando di riprendermi quello che fatto con C ai tempi. Ho un agiuda per il C ma è quella da cui studiavo, nn è un vero manuale. Sapresti indicarmene uno? |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
Tutto quello che devi fare è definire un protocollo di comunicazione tra client e server. Potresti usare XML ma dovresti imparare l'utilizzo di una qualche libreria (Xerces, Expat o magari Xsd che ti mappa automaticamente un xml su un oggetto usando una di queste 2 librerie), oppure un altro protocollo più semplice specifico per il tuo caso tipo un protocollo binario con indicazione di inizio/fine comando e separatore tra parametri.
Per il server devi trovare un modo per memorizzare i voli disponibili e le prenotazioni anche qui potresti affidarti a dei semplici file di testo oppure xml oppure ad un semplice database quale Sqlite. Infine ti ci vuole il codice per la realizzazione di un server e un client, in giro trovi tonnellate di esempi per questo. Comunque non hai bisogno di 2 computer. Puoi far funzionare tutto sulla stessa macchina, basta che imposti il client in modo che si connetta a 127.0.0.1 sulla porta del server. |
![]() |
![]() |
![]() |
#10 |
Junior Member
Iscritto dal: Apr 2010
Messaggi: 6
|
Ho gia impostato il cliente su quella porta, ma naturalmete mi dice file non trovato, credo si riferisca al fatto che nn puo comunicare col server, problema che ora provero a sistemare.
Avevo pensato anche io a dei file di testo, infatti li ho gia creati, ma nn so come impostarli per inserirli nel server ecco, scusa il mio gerco poco tecnico. Ho gia implementato un server e un cliente ma semplici ora volevo lavorare su quelli per raggiungere la soluzione. Che mi consigliare mi conviene? |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
Quote:
|
|
![]() |
![]() |
![]() |
#12 |
Junior Member
Iscritto dal: Apr 2010
Messaggi: 6
|
si perfetto.
Ho gia messo il server in binding, ma sto cercando adesso di capire come inserire le liste aeree all'inerno del server, che proprio nn vuole entrami in testa. |
![]() |
![]() |
![]() |
#13 |
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
non sarebbe altrettanto emozionante
![]()
__________________
I robot hanno scintillanti fondoschiena metallici che non dovrebbero essere baciati. |
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
Quote:
Puoi farlo sia come layer locale sul server, che con la stessa logica remota degli altri client. |
|
![]() |
![]() |
![]() |
#15 |
Junior Member
Iscritto dal: Apr 2010
Messaggi: 6
|
Ragazzi per realizzare la lista avevo pensato una cosa.
Allora ho realizzato un programma in C++ semplice con una lista dove ho inserito le specifiche dei voli che sono richieste. In pratica questo programma nn fa altro che fornire all'untente un schermata dei voli disponibili, l'utente accede, richiede il volo e se dopo T secondi, l'ho fatto con un ciclo for che decrementa un contatore, gli fa annullare la prenotazione, e da solo sembra funzionare. Quello che voglio fare io, ma che nn sto riuscendo è questo. Nel momento in cui il client si connette al server egli gli mostra questa schermata tutto qua, quindi dovrei realizzare una funzione che mi richiami questo programma, ma nn so come fare. Credete sia possibile o mi sto complicando la vita? E solo che vedo altra soluzione. Cmq è ovvio che anche se ogni messaggio nn lo ripeto io vi ringrazio tutti dell'aiuto che mi state dando. |
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
credo che tu abbia sbagliato la logica architetturale.
Il server deve limitarsi, coerentemente con il protocollo scelto, a passare la lista dei voli al client, che avrà dentro di se il livello presentazione per l' utente. Gestire i timeout con un for è veramente brutto. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:23.