Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 27
  1. #11
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da gp.maraldo
    Non bisogna cambiare la porta, quella di ascolto rimane la stessa, ma
    quando un server crea un nuovo socket deve aprire un altra porta, per
    distingueri i flussi dati.
    No ... il server distingue in base alla porta sorgente, che cambia da connessione a connessione ...

    Per chi non si fida, ci vuole poco a controllare. Create un server e vedete le porte
    utilizzate, quando poi si collegano dei client, si apriranno 'magicamente', delle nuove
    porte (a questo ci pensa il server a livello basso automaticamente, non se ne occupa
    il programmatore che usa le chiamate ai socket già belle e pronte dalle librerie usate)
    Non mi fido ... dimmi come controllare ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  2. #12
    OK! Mi sà che non mi sò spiegare e giriamo sullo stesso discorso!
    Ovvio che il server ha la stessa porta, ma poi si creano delle differenze con
    le porte remote!

    Vabbè mi sà che diciamo la stessa cosa, ma sto facendo un pò di casino,
    però se avete qualcosa da aggiungere sono contento di saperlo, magari
    sbaglio qualcosa!


  3. #13
    Forse è meglio che vi mostri cosa intendevo.... (vedi disegno)

    E scusate per la confusione!!

    PS: è divertente discutere con gente competente (forse non per voi, dato
    che ho pasticciato!!)

    Immagini allegate Immagini allegate

  4. #14

    Re: [C] sistema client-server

    Originariamente inviato da KITT
    ciao a tutti,
    in un sistema client-server, concorrente, il server deve avere tanti socket quanti sono i client?
    il socket è una struttura dati, ogni volta che il client si collega è necessario crearne una nuova. Questo avviene normalmente in un thread, ma può anche essere un fork.
    Una volta che la comunicazione è instaurata (attraverso un opportuno protocollo) è necessario cambiare porta ? assolutamente no, tutti i client possono comunicare con il server sulla stessa porta.
    Alcuni software blasonati http o ftp aprono la comunicazione su una porta bassa e poi dialogono su una porta alta, questo lo fanno per motivi di sicurezza, se tu lavori già su una porta alta questo non è necessario.

    Questo è un forum di programmazione, se hai dei dubbi specifici posta il tuo codice.
    ciao
    sergio

  5. #15
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Come ti dicevo, e come del resto mostri tu stesso nel disegno, il server utilizza SEMPRE la stessa porta (la 6315 nel tuo esempio) e NON apre altre porte.

    Semmai sono i client (come ti avevo detto) che utilizzano una nuova porta per una nuova connessione (vedi la 4371, 4373 e 4374, sempre nel tuo esempio).

    Quindi, come ti dicevo sin dall'inizio, sono i CLIENT ad utilizzare nuove porte (e le sceglie il sistema) NON i server, che utilizzano SEMPRE la porta su cui ascoltano.

    Ti ripeto ... quando il socket del server e' in LISTENING, il socket e' una astrazione costituita da una TRIPLA (protocollo, indirizzo e porta su cui ascolta). Quando va in stato ESTABLISHED, il socket diventa una QUINTUPLA (come gia' detto).

    Quindi, niente scambio di porte nell'handshake e niente utilizzo di porte ulteriori lato server.

    Convinto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #16
    Convinto!!!

    (cmq la porta diversa che intendevo è quella che deve usare come porta remota)

    Comunque ora è tutto chiaro! Grazie 1000!

    Al prossimo forum!!

  7. #17
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da gp.maraldo
    (cmq la porta diversa che intendevo è quella che deve usare come porta remota)
    La "porta remota" dal punto di vista del server e' quella del client, e quella, come ti ho detto, cambia da connessione a connessione proprio per identificare univocamente il dialogo.

    Ma dal punto di vista del client, la "porta remota" e' sempre e solo quella del server (80 per un server web e sempre 80 se il listening parte su quella porta) e il server non utilizza altre porte per comunicare con il client.

    Ti consiglio una approfondita lettura di "Computer Networks", il classico mattone di Tanenbaum ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #18
    Thank you!

  9. #19
    Originariamente inviato da oregon
    Ti consiglio una approfondita lettura di "Computer Networks", il classico mattone di Tanenbaum ...

  10. #20
    Alcuni software blasonati http o ftp aprono la comunicazione su una porta bassa e poi dialogono su una porta alta, questo lo fanno per motivi di sicurezza, se tu lavori già su una porta alta questo non è necessario.
    Mmmm... no, non ho capito. Sopratutto cosa c'entri la sicurezza.
    Rilasciata Python FTP Server library 0.5.1
    http://code.google.com/p/pyftpdlib/

    We'll be those who'll make the italian folks know how difficult can be defecating in Southern California without having the crap flying all around the house.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.