Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    26

    [JAVA] Chat Peer to peer...

    SAlve a tutti! Dovrei creare una Chat tra due pc con ip noti. Tutto ciò non con una classica connessione client/server tcp, ma con una connessione peertopeer. Io avevo pensato di creare una classe server principale alle quale uno dei due pc si deve collegare, una volta che il client si è collegato avvia una serversocket. A questo punto un altro utente che si collega al server principale riceverà da questo ip e porta della serversocket del primo client, ed iniizierà a comunicazre con questo. E' corretto così oppure mi sfugge qualcosa? Grazie

  2. #2
    Beh cosi' secondo me non e' molto p2p, c'e' un server principale che non e' peer di nessuno.
    Prova a pensarla cosi':
    - perche' l'approccio sia p2p devi ridurre al minimo l'infrastruttura
    - ti serve di sicuro una parte di discovery, ovvero, quando accendi tutti i potenziali peer devono potersi vedere l'un l'altro
    - in realta' non e' nemmeno necessario che si vedano tutti, quando uno vede altri peer potrebbe condividere la conoscienza che acquisisce con tutti i suoi pari, magari puoi costruire una hashtable distribuita.

    detto questo ci sono diversi approcci che si possono prendere, uno tra tanti, tutti i peer al momento dell'avvio aderiscono ad un certo gruppo multicast, e mandano a quel gruppo un messaggio di HELLO annunciando la propria presenza e il proprio endpoint (ad esempio un IPorta TCP). Chi e' interessato potrebbe poi contattare uno dei suoi peer direttamente aprendo una socket su quell'enpoint. Senza scomodare multicast potresti usare broadcast, ma il broadcast per definizione non viene forwardato dagli switch, quindi multicast mi pare migliore.

    ecco, giusto un'ideina cosi'...

    ti consiglio di dare un'occhiata anche a JXTA: https://jxta.dev.java.net/
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    26
    grazie della risposta, ma aggiungo che si tratta di una prova al calcolatore da fare in un'ora e mezza, quindi niente di eccezionale, deve essere proprio essenziale(Infatti parla di solo due pc con ip noti).

  4. #4
    Originariamente inviato da Silvos90
    grazie della risposta, ma aggiungo che si tratta di una prova al calcolatore da fare in un'ora e mezza, quindi niente di eccezionale, deve essere proprio essenziale(Infatti parla di solo due pc con ip noti).
    Ah questo e' un altro discorso allora! Beh se hai solo due pc con IP noti allora non vedo il problema e non vedo tanto il concetto di p2p E' una normale applicazione client server.
    In ogni caso anche se hai solo un'ora e mezza la soluzione del multicast e' attuabile (http://java.sun.com/docs/books/tutor...adcasting.html), ma probabilmente il tuo esercizio richiede qualcosa di davvero semplice.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2010
    Messaggi
    26
    Si, ho parlato col prof e mi ha detto che devono essere due semplici programmi , in cui uno si collega all'altro e viceversa e si scambiano stringhe. L'ho saputo implementare in breve

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 © 2025 vBulletin Solutions, Inc. All rights reserved.