CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: carotix con ben 2 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: 9mm con ben 9 Thanks ricevuti negli ultimi sette giorni
Utente del mese: 9mm con ben 34 Thanks ricevuti nell'ultimo mese

Pagina 1 di 2 12 ultimoultimo
Ultima pagina
Visualizzazione dei risultati da 1 a 10 su 14
Discussione:

domanda su client/server

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Jul 2011
    Messaggi
    48

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    domanda su client/server

    ciao,
    da ignorante in materia,ho letto che un client e' un software che invia una richiesta di servizio ad un server il quale elabora i dati in ingresso restituendoli al client (mittente). Detto questo,mi pongo una domanda: si stabilisce una connessione tra i software? E i terminali non si connettono???? Non ho capito molto su questa cosa. Me la potete spiegare in modo elementare?
    grazie

  2.  
  3. #2
    Senior Droid


    Registrato dal
    Jan 2011
    Messaggi
    370

    Ringraziamenti
    5
    Ringraziato 85 volte in 71 Posts
    Predefinito

    Quote Originariamente inviato da zorro29 Visualizza il messaggio
    ciao,
    da ignorante in materia,ho letto che un client e' un software che invia una richiesta di servizio ad un server il quale elabora i dati in ingresso restituendoli al client (mittente). Detto questo,mi pongo una domanda: si stabilisce una connessione tra i software? E i terminali non si connettono???? Non ho capito molto su questa cosa. Me la potete spiegare in modo elementare?
    grazie
    Molto terra terra, semplificato e con qualche possibile imprecisione:

    Un terminale X connesso a internet è una macchina che ha un dispositivo in grado di connetterlo a un'altra macchina Y, la quale si occupa di ricevere dal suddetto terminale delle richieste (sotto forma di pacchetti di dati), di interpretarle e, qualora capisca che non è suo compito elaborarle, si occupa di rigirarle, direttamente o indirettamente, verso i corretti destinatari.

    Ogni pacchetto passerà da un certo numero di macchine (d'ora in poi server), prima di arrivare a destinazione.

    Scendendo un attimo più nel dettaglio, a ogni macchina viene assegnato, al momento della connessione a internet, un nome univoco, il cosiddetto indirizzo IP; questo viene utilizzato per capire a quale macchina è rivolto un pacchetto, e da chi proviene.

    Quando finalmente il pacchetto dati arriva alla macchina incaricata di elaborarlo, questa "riconosce" il proprio indirizzo IP, e analizza un altro campo del pacchetto, la cosiddetta porta.
    Questa viene utilizzata poiché un software che deve ricevere dati si mette in ascolto su una porta, e accetta unicamente i messaggi in arrivo su quella porta.

    Analogamente, il pacchetto di cui stiamo parlando è partito dal nostro terminale, ma a decidere di mandarlo non è stata l'interfaccia di rete, ma "qualcuno" sopra di lei, di solito per l'appunto un software.

    Schematizzando il viaggio del pacchetto, e riassumendo, abbiamo quindi:

    1) Il nostro software, ad esempio un'applicazione che deve farci vedere il meteo di dove siamo, acquisisce la località
    2) Il software impacchetta la località e gli altri dati necessari all'interno di un pacchetto dati, e lo indirizza al server che fa le previsioni, su una certa porta e con un certo indirizzo IP
    3) Il software passa il pacchetto alla scheda che si occupa di inviare i dati via internet
    4) La scheda invia i dati via internet al server del provider a cui è connessa
    5) Il server del provider rigira il pacchetto a un altro server, e questo a un altro ancora, e via dicendo...
    6) Arrivato a destinazione il pacchetto, il server lo passa al software che finalmente lo elabora, e manda il pacchetto contente i dati al mittente, tramite l'indirizzo IP del mittente e una certa porta

    Capito quindi come funziona, sono sempre i terminali a essere "fisicamente" connessi, seppur indirettamente, mentre sono sempre i software a essere "logicamente" connessi.

  4. Il seguente Utente ha ringraziato Ma5t3r per il post:

    Gege98 (05-11-16)

  5. #3
    Baby Droid


    Registrato dal
    Jul 2011
    Messaggi
    48

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    ciao,
    si insomma e' un po' complessa.
    Se ho due pc,A e B,server e client.
    Il pc A stabilisce una connessione con B? In che senso A e' connesso fisicamente a B e logicamente i software?
    La connessione riguarda i software o i pc?

  6. #4
    Androidiano VIP L'avatar di diego63


    Registrato dal
    Jan 2012
    Località
    Casa mia naturalmente
    Messaggi
    2,768
    Smartphone
    LG G3 32Gb

    Ringraziamenti
    171
    Ringraziato 262 volte in 214 Posts
    Predefinito

    Quote Originariamente inviato da zorro29 Visualizza il messaggio
    ciao,
    si insomma e' un po' complessa.
    Se ho due pc,A e B,server e client.
    Il pc A stabilisce una connessione con B? In che senso A e' connesso fisicamente a B e logicamente i software?
    La connessione riguarda i software o i pc?
    Per semplicità possiamo dire che fisicamente possiamo intendere l'hardware e logicamente il software, quindi la scheda di rete ed il cavo di una macchina sono fisici, il software che gestisce è logica.
    Anche la porta è logica, come lo è un indirizzo IP in quanto se l'hardware supportasse altri tipi di logica non servirebbe ne una porta ne un indirizzo IP che insieme formano una parte di quello che viene chiamato protocollo, un protocollo è "un modo per mettersi d'accordo" su come compiere una data azione, ecc.. ecc... ecc...

    EDIT:
    Per completezza si può sottolineare che non necessariamente il tutto deve essere valido solo passando per internet, la stessa cosa vale per una rete locale totalmente staccata da internet stessa, il principio su scala ristretta è il medesimo.
    Ultima modifica di diego63; 27-03-13 alle 15:37
    Sono responsabile di ciò che dico io, non di ciò che capisci tu...

  7. #5
    Senior Droid


    Registrato dal
    Jan 2011
    Messaggi
    370

    Ringraziamenti
    5
    Ringraziato 85 volte in 71 Posts
    Predefinito

    Quote Originariamente inviato da zorro29 Visualizza il messaggio
    Se ho due pc,A e B,server e client.
    Il pc A stabilisce una connessione con B? In che senso A e' connesso fisicamente a B e logicamente i software?
    La connessione riguarda i software o i pc?
    Io e te stiamo parlando al telefono.
    Sono i telefoni a essere connessi o siamo io e te?
    Ecco, il discorso è esattamente lo stesso .

    Quote Originariamente inviato da diego63 Visualizza il messaggio
    Anche la porta è logica, come lo è un indirizzo IP in quanto se l'hardware supportasse altri tipi di logica non servirebbe ne una porta ne un indirizzo IP che insieme formano una parte di quello che viene chiamato protocollo, un protocollo è "un modo per mettersi d'accordo" su come compiere una data azione, ecc.. ecc... ecc...

    Per completezza si può sottolineare che non necessariamente il tutto deve essere valido solo passando per internet, la stessa cosa vale per una rete locale totalmente staccata da internet stessa, il principio su scala ristretta è il medesimo.
    Yup, certo

  8. Il seguente Utente ha ringraziato Ma5t3r per il post:

    Gege98 (05-11-16)

  9. #6
    Baby Droid


    Registrato dal
    Jul 2011
    Messaggi
    48

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    i telefoni sono connessi pero' non capisco il nesso :-)



    Quote Originariamente inviato da Ma5t3r Visualizza il messaggio
    Io e te stiamo parlando al telefono.
    Sono i telefoni a essere connessi o siamo io e te?
    Ecco, il discorso è esattamente lo stesso .



    Yup, certo

  10. #7
    Senior Droid


    Registrato dal
    Jan 2011
    Messaggi
    370

    Ringraziamenti
    5
    Ringraziato 85 volte in 71 Posts
    Predefinito

    Quote Originariamente inviato da zorro29 Visualizza il messaggio
    i telefoni sono connessi pero' non capisco il nesso :-)
    Errato, siamo sia io e te che i telefoni a essere connessi, ma per me e te la connessione è solo "logica" (se io dico una cosa, tu la capisci e mi rispondi), mentre tra i due telefoni esiste una connessione "fisica", cioè sono in qualche modo attaccati.

    In particolare, quando io parlo, la voce arriva al mio telefono, che si occupa di "prenderla" e di inviarla al tuo telefono, che a sua volta te la fa ascoltare.

    Con i software e i terminali, il discorso è identico: il software invia informazioni all'hardware (il pacchetto dati), che si preoccupa di inviarle a un altro hardware tramite un canale, e il secondo hardware le manda al software ricevente (il "server"), che riceve così il pacchetto dati (e fa quello che deve fare).

  11. Il seguente Utente ha ringraziato Ma5t3r per il post:

    Gege98 (05-11-16)

  12. #8
    Androidiano VIP L'avatar di elegos


    Registrato dal
    Jul 2009
    Messaggi
    1,714

    Ringraziamenti
    2
    Ringraziato 153 volte in 120 Posts
    Predefinito

    In modo molto schematico:

    client, server: sono dei SOFTWARE che girano su dei COMPUTER (o elaboratori in senso lato)

    Un CLIENT richiede dati al SERVER, il quale riceve la richiesta, elabora e manda indietro il risultato.

    Nelle architetture moderne, i due termini sono andati via via mischiandosi (le così dette reti P2P), anche se nel mondo mobile/IT questa differenza è ancora molto marcata.

    Esistono più tipologie di comunicazione tra client e server, ti spiego le due più utilizzate:

    1. approcio standard: il client si connette al server e richiede le informazioni (es. un browser si collega a google.it). Il server elabora ("sta cercando 'free porn'") e manda il risultato (una pagina HTML formattata con testo e link). Il client riceve i dati, si fa una pippa (o qualsiasi cosa il client voglia fare con i dati acquisiti).

    2. approcio push: il client si connette al server e si "registra", ossia dice "hey, sono qui, se hai bisogno di inviarmi dei dati, fallo pure". Il server quindi agisce per conto suo, ad un certo punto riceve un messaggio per il client registrato, quindi invia il dato alle coordinate dategli precedentemente dal client stesso. Esempio pratico: un SMS.

    Ma come avviene la connessione tra due elaboratori? Principalmente seguendo due protocolli: TCP ed UDP (ma non sono gli unici). Il primo viene effettuato per avere la certezza che il dato arrivi, una connessione strutturalmente più lenta, il secondo viene usato per mandare stream di dati multimediali (audio/video), o per mandare pacchetti ad alta priorità, i quali possono però esser persi (pensa ad un videogioco: se si utilizzasse TCP, ogni volta che si perdesse un pacchetto (e succede molto spesso), il giocatore affetto da questa perdita "laggherebbe", ossia starebbe sul posto per TOT secondi prima di comparire tutt'altra parte).

    Con le connessioni TCP la prima macchina (il "client" della situazione) invia una richiesta di connessione al server, il quale accetta o rifiuta tale richiesta. Se la accetta, rimanda indietro le informazioni sulla connessione stessa (tipo: ciao, sono la macchina X, ho creato un "corridoio" dal mio IP A e la mia porta B al tuo IP C e la tua porta D, come da te richiesto). Da quel momento le due macchine parleranno tramite questo "canale", il quale ha una durata dall'ultima comunicazione tipicamente di 15 minuti (il famoso "timeout"), ma può essere chiuso anticipatamente da uno dei due in qualsiasi momento. Questo canale può essere half o full duplex, ossia può parlare uno alla volta (half duplex), oppure possono parlare entrambi contemporaneamente (full duplex). Tipicamente una connessione TCP è full duplex.

    Quindi puoi capire come client e server siano solo delle "costruzioni mentali" atte a separare chi richiede un dato (client) e chi fornisce il dato (server). Tendenzialmente in un approcio classico il server è dotato di hardware superiore alla media per fronteggiare la mole di richieste (e relative elaborazioni) da parte di più client. In un approcio più moderno invece il client ed il server si mischiano, dove quindi il client chiede ad altri server informazioni, ma gli stessi "server" diventano client eseguendo la stessa operazione con il nostro "client", il quale diventa server.

  13. Il seguente Utente ha ringraziato elegos per il post:

    Gege98 (05-11-16)

  14. #9
    Baby Droid


    Registrato dal
    Jul 2011
    Messaggi
    48

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    ciao!
    ti ringrazio ma non ho capito un concetto: quando il client invia una richiesta di connessione al server,chi la invia? Un componente software o hardware?
    Il pc invia una richiesta di connessione al server oppure e' una specifica applicazione?
    Questo mi sfugge!

  15. #10
    Androidiano VIP L'avatar di diego63


    Registrato dal
    Jan 2012
    Località
    Casa mia naturalmente
    Messaggi
    2,768
    Smartphone
    LG G3 32Gb

    Ringraziamenti
    171
    Ringraziato 262 volte in 214 Posts
    Predefinito

    Quote Originariamente inviato da zorro29 Visualizza il messaggio
    ciao!
    ti ringrazio ma non ho capito un concetto: quando il client invia una richiesta di connessione al server,chi la invia? Un componente software o hardware?
    Il pc invia una richiesta di connessione al server oppure e' una specifica applicazione?
    Questo mi sfugge!
    Software!! è sempre il software che fa richieste oppure le soddisfa.
    L'hardware rende possibile il tutto. Quando premi un tasto del telecomando è un software, una logica del firmware che compie l'azione da te desiderata, il telecomando e la tv sono solo delle macchine che rendono possibile l'operazione dal punto di vista fisico. Non a caso in questo post ho tirato in ballo ancora la logica e l'aspetto fisico. Ripeto non per caso
    Sono responsabile di ciò che dico io, non di ciò che capisci tu...

Pagina 1 di 2 12 ultimoultimo
Ultima pagina

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy